100% ont trouvé ce document utile (1 vote)
672 vues26 pages

Cours - STATA - MPSE II

Transféré par

Fayçal Maiga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
672 vues26 pages

Cours - STATA - MPSE II

Transféré par

Fayçal Maiga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MASTER PROFESSIONNELLE II EN STATISTIQUE

ECONOMIQUE (MPSE II)

Initiation au logiciel d'analyse statistique : STATA

Chargé du cours :
Daouda SILGA,
Ingénieur Statisticien Economiste (ISE)
Cours de STATA-MPSE II

Table des matières


Chapitre 1 : Environnement STATA ...................................................................................... 5
1.1 Les fenêtres de STATA ............................................................................................... 5
1.2 Lire ou importer les données sous stata ....................................................................... 6
1.3 Sauvegarder les données et travail............................................................................... 8
1.3.1 Do file ................................................................................................................... 8
1.3.2 Sauvegarder les données ....................................................................................... 8
1.4 Commandes de visualisation des données ................................................................... 9
1.4.1 Commandes browse et edit ................................................................................... 9
1.4.2 Commande list ...................................................................................................... 9
1.4.3 commande describe et codebook........................................................................... 9
1.4.4 La commande summarize ...................................................................................... 9
1.4.5 La commande tabulate ........................................................................................ 10
1.4.6 Les commandes correlate et covariance .............................................................. 10
Chapitre 2 : Manipulation des données sous STATA........................................................... 11
2.1 Opérateurs et fonctions usuelles sous stata................................................................ 11
2.2 Renommer et labelliser les variables et modalités..................................................... 12
2.3 Recoder ou remplacer les valeurs d’une variable ...................................................... 12
2.4 Garder ou supprimer des observations dans la base de données ............................... 13
2.5 Trier les observations sous stata ................................................................................ 13
2.6 Création de nouvelles variables ................................................................................. 14
2.6.1 Avec des opérateurs arithmétiques ...................................................................... 14
2.6.2 création des variables avec quelques fonctions spécifiques ................................ 14
2.6.3 création des percentiles : ..................................................................................... 15
2.6.4 création de variables avec la fonction cond(x,a,b) .............................................. 15
2.7 Autres commandes de manipulations des données.................................................... 15
2.8 Les bases en format long et large .............................................................................. 15
2.9 Combinaison horizontale et verticale des bases de données ..................................... 16
2.9.1 Ajouter des observations : ................................................................................... 16
2.9.2 Ajouter des variables : ......................................................................................... 17
2.10 commande de regroupement ou d’aggrégation : collapse ..................................... 17
2.11 Simplifier les tâches répétitives sous stata ............................................................ 18
2.11.1 Définitions des boucles sous stata ..................................................................... 18
2.11.2 Les boucles foreach et forvalues ....................................................................... 18
2.11.3 La boucle while ................................................................................................. 19
Chapitre 3 : Analyse descriptives des données sous stata .................................................... 21
3.1 Pondération ................................................................................................................ 21
3.2 Les commandes de bases de tabulations statistiques ................................................. 22
3.2.1 Cas d’une variable quantitative ........................................................................... 22
3.2.2 Cas des variables qualitatives.............................................................................. 23

2
ISSP/UJKZ
Cours de STATA-MPSE II

3.2.3 Liaison variables qualitatives et variables quantitatives ..................................... 23


3.3 Les tests usuels .......................................................................................................... 23
3.4 Exportations des tableaux. ......................................................................................... 24
3.5 Les graphiques ........................................................................................................... 25
3.5.1 Histogramme ....................................................................................................... 25
3.5.2 Diagramme en barre ............................................................................................ 26
3.5.3 Diagramme en secteur ......................................................................................... 26
3.5.4 Nuage de points ................................................................................................... 26

3
ISSP/UJKZ
Cours de STATA-MPSE II

Objectifs du cours
Se former aux outils permettant d’effectuer les tâches essentielles avec le logiciel
(manipulation de données, graphiques, estimations).
Importer une base de données, traiter les données et faire une analyse simple utilisant
des méthodes statistiques
Prérequis
Statistiques descriptives et inférentielles (maîtrise a minima du contenu de la formation
Régression linéaire et analyse de la variance), quelques notions de programmation sont
nécessaires (les boucles), il faut être à l’aise avec l’informatique.

4
ISSP/UJKZ
Cours de STATA-MPSE II

Chapitre 1 : Environnement STATA


1.1 Les fenêtres de STATA

1 3
5

4
2

a) La fenêtre résultat qui décrit les résultats des différentes commandes que vous
exécutez. les messages de mise en garde en vert, et les erreurs, stoppant l'exécution, en
rouge. Les erreurs sont référencées. En cliquant sur le code de l'erreur, ici r(101), on
accède à une description de l'erreur. On peut copier les résultats de Results pour les
coller dans Word ou dans Excel. Selon qu'on veuille copier du texte ou un tableau
(sélectionner uniquement le tableau avec des lignes entières), on utilisera Copy text ou
Copy table dans le menu Edition.
b) La fenêtre de commande qui permet de taper les commandes qui peuvent être
exécuter avec la touche entré. On l’utilise que pour essayer de façon interactive les
commandes mais pas pour rédiger un programme ;
c) La fenêtre variables qui affichent la liste des variables de votre bases de données
actuellement chargées sous stata ;
d) La fenêtre properties qui donnent les propriétés des données et les différentes
variables (types, description de variables ; nombre d’observations ou de variables
contenues dans la base) ;
e) La fenêtre history qui récapitule les commandes déjà utilisées et il suffit de cliquer
sur l'une d'elle pour la rappeler dans la fenêtre commande.

La barre d’outils de stata permet de gérer rapidement et facilement les actions de base.

5
ISSP/UJKZ
Cours de STATA-MPSE II

De gauche à droite :
- Ouvrir un fichier de données Stata
- Sauvegarder un fichier de données (équivalent à la commande save)
- Imprimer les résultats tels qu'ils apparaissent dans la fenêtre Results
- Commencer un fichier log, un journal qui conservera tout ce qui a été fait
- Faire apparaître la fenêtre Résultats lorsqu'elle n'est pas présente
-Modifier le font d’un graphique
- Ouvrir un [Link]
- Afficher la base de données (en pouvant ou pas le modifier manuellement)
-Manipulation des propriétés des variables
-Voir plus de résultats
- Stopper la commande en cours (si c'est trop long ou qu'on s'est rendu compte d'une erreur)

1.2 Lire ou importer les données sous stata


Il est possible de lire un fichier sous format stata en allant directement dans la commande

Ouvrir . Ou on peut également utiliser la commande use dans la barre de commandes ou


fichier [Link].
use "C:\Users\asus\Downloads\DONNEES_FORMAT_STATA\[Link]”, clear
On pouvait au préalable établir un repertoire de travail pour garder nos résultats, en
utilisant la commande cd.
cd "C:\Users\asus\Downloads\DONNEES_FORMAT_STATA\BaseUEMOA”
l’ouverture de notre base de données, à moins qu’elle se trouve dans un autre répertoire, devient
tout simplement :
use "[Link]”, clear
clear pour effacer le fichier de données déjà charger dans stata. On pourrait également ouvrir
une partie des variables contenues dans la base de données BaseUEMOA, en écrivant :
use "var1 var2 var3" using "[Link]”, clear (pour ouvrir les fichiers qu’avec les
variables var1 var2 var3).

6
ISSP/UJKZ
Cours de STATA-MPSE II

Si le fichier n’est pas de format stata :


 utiliser le Stat Transfer : c’est un logiciel qui permet de convertir les données utilisables
sous un autre format (Excel, SAS, R, Limdep, SPSS, etc.) au format Stata ;
 Stata peut lire les données également sous format ASCII. Dans ce cas on utilise souvent les
trois commandes suivantes : infile, insheet, infix. Vous pouvez également aller dans
Fichier→importer et vous choisissez l’extension appropriée
o on utilise infile si les données sauvegardées dans un fichier sont séparées par un
espace, pour lire les données on utilise.
infile var1 var2 var3 … using "[Link]" , clear ; il faut nécessairement préciser les
noms des variables ;
o on utilise insheet si les données sauvegardées dans un fichier sont séparées par
des tabulations, pour lire les données on utilise.
insheet var1 var2 var3 ….. using "[Link]", clear (le fichier ne contient pas les
noms des variables)
insheet using "[Link]", clear (fichier contient les noms des variables).
Avec cette commande, il faudrait bien préparer le fichier de données en indiquant
sur la première ligne le nom des variables qui sont disposées en colonne. Il ne faut
pas laisser de noms de variables sous format numérique et de préférence transformer
les dates (en variables) avec un underscore : 2023 en _2023. Vérifier qu'il n'y a pas
de virgule dans les données pour ne pas troubler la reconnaissance des
variables/colonnes.
o on utilise infix s’il n’y aucune séparation entre les données. Dans ce cas, on aura
besoin d’un autre fichier qui spécifie la disposition des données, c’est-à-dire un
dictionnaire des variables. Le format des données est de la sorte :
113007000A
225515000B
314904500A
423409000B
Où le premier chiffre désigne l’identifiant milieu (second chiffre), âge du CM (deux
suivants), revenu du ménage (5 chiffres qui suivent) et région (variable alphanumérique :
dixième position). On a :
infix identifiant 1 milieu 2 age 3-4 revenu 5-9 str region 10 using "[Link]",clear

7
ISSP/UJKZ
Cours de STATA-MPSE II

Lorsque vous utilisez des bases de données très grandes, vous pourrez être confronté à
des problèmes d’insuffisances de mémoire (le message d'erreur est : no room for more
observations) alors il faut utiliser la commande set memory XXm pour préciser le nombre de
mégabytes que vous souhaitez allouer à Stata ou set maxvar Y pour augmenter le nombre de
variable. Les ordinateurs 64 bits peuvent théoriquement fournir jusqu'à 18 446 744 073 709 551
616 octets de mémoire, soit l'équivalent de 17 179 869 184 gigaoctets, 16 777 216 téraoctets,
16 384 pétaoctets ou 16 exaoctets. Les ordinateurs réels en ont moins. Stata alloue la mémoire
pour les données en unités de segmentsize. Des valeurs plus petites de segmentsize peuvent
permettre une utilisation plus efficace de la mémoire disponible mais obligent Stata à sauter
plus souvent. Stata doit sauter plus loin. La valeur par défaut fournit un bon équilibre. Nous
recommandons de réinitialiser segmentsize uniquement si votre ordinateur dispose d'une grande
quantité de mémoire.
Le nombre maximal de variables dans votre ensemble de données est limité à maxvar.
La valeur par défaut de maxvar est de 5 000 pour Stata/MP et Stata/SE, et de 2 048 pour
Stata/IC. Avec Stata/MP et Stata/SE, cette valeur par défaut peut être augmentée en utilisant
set maxvar. La valeur par défaut est fixe pour Stata/IC. Le nombre maximal d'observations est
fixé à 1 099 511 627 775 pour Stata/MP et à 2 147 483 619 pour Stata/SE et Stata/IC,
indépendamment de la taille de l'ordinateur ou des paramètres de mémoire.

1.3 Sauvegarder les données et travail


1.3.1 Do file
Le do file est une sauvegarde de syntaxe permettant de reproduire votre travail à

n’importe quel moment voulu. Pour ouvrir un do file, il suffit de cliquer sur la commande
(Ouvrir un do file). Pour commencer un do file il faut préciser dans quel repertoire on travaille.
La syntaxe est: cd "C:\Users\asus\Desktop\Cours_LPAS II\STATA".
Pour exécuter un do file, il suffit de sélectionner la partie du programme que l'on souhaite
appliquer et cliquer sur l'icône représentant une flèche vers le bas (exécuter la sélection) ou
appuyer sur ctl+d.

1.3.2 Sauvegarder les données


Pour sauvegarder les données sous STATA, il suffit de cliquer la commande ou
d’utiliser la commande save dans votre do file : save "[Link]", replace. replace pour
remplacer le fichier de donner au cas où un fichier de même nom existe déjà dans le répertoire.

8
ISSP/UJKZ
Cours de STATA-MPSE II

1.4 Commandes de visualisation des données


1.4.1 Commandes browse et edit
La commande browse permet de d’afficher toute la base de données charger sous stata.
Avec cette commande, il est possible de regarder toutes les observations et variables sans
pouvoir y apporter de modification. Pour apporter des modification à certaines observations de
la base, on utilise la commande edit. Elle donne la même présentation de la base mais une
possibilité de modifier les données si on le désire.

1.4.2 Commande list


Elle permet d’observer les données au même titre que la commande browse, mais sous
la fenêtre résultat. Il n’est intéressant que si le nombre de variables et d’observation sont peu
nombreuses. Il est parfois utiliser lorsqu’on veut observer des informations suivant certaines
caractéristiques des individus. Si par exemple je veut le statut matrimonial des individus ayant
exactement 15 ans, de sexe masculin et vivant en milieu rural. On a :
list statut_mat if age==15 & sexe==”homme” & milieu==”rural"

1.4.3 commande describe et codebook


La commande describe permet d’obtenir des informations (type de variable et le format de leur
compression, le label...). Il y a deux types de base de variables : soit numériques soit texte
(string). Dans le cas de variables numériques, il faut distinguer 5 cas :
byte nombre entier entre -127 et 126, comme une variable muette
int nombre entier entre -32 767 et 32 766, comme une année
long nombre entier entre -2 147 483 647 et 2 147 483 646, comme une donnée de population
float nombre réel avec une précision de 8 chiffres, comme des données de production
double nombre réel avec une précision de 16 chiffres.
La commande codebook permet d’obtenir ces informations avec des statistiques descriptives
en plus(nombre d’observation, valeurs distinctes, valeurs manquantes…)

1.4.4 La commande summarize


Elle affiche le nombre d'observations, la moyenne, l'éecart-type, et les valeurs extrêmes. Si on
souhaite plus de précision, il suffit de rajouter une option detail : summarize age, detail.

9
ISSP/UJKZ
Cours de STATA-MPSE II

1.4.5 La commande tabulate


la commande tabulate (abrégée en ta) donne le nombre d'observations et la fréquence
de chaque valeur de la variable. Elle peut donc utilisée pour regarder la distribution d'une
variable. Avec deux variables, elle présente un tableau croisée.

1.4.6 Les commandes correlate et covariance


Pour obtenir la correlation ou la covariance entre deux (ou plus) variables, il suffit
d'utiliser ces deux commandes :
. correlate var1 var2
. covariance var1 var2

10
ISSP/UJKZ
Cours de STATA-MPSE II

Chapitre 2 : Manipulation des données sous STATA


2.1 Opérateurs et fonctions usuelles sous stata
Certains opérateurs sont utilisés pour écrire les conditions :
Quelques opérateurs sous STATA
Op. Arithmétiques Op. de relation Op. logiques
Addition + Supérieur > Pas (not) ~
Supérieur ou égal >=
Soustraction - Inférieur < Pas (not) !
Inférieur ou égal <=
Multiplication * Egal = | ou
Division / Egal (s’il y’a un if) == & et
Exposant ^ Différent de ~=
Concaténation + Différent de !=
(cas des chaines de
caractères )

La plupart des fonctions mathématiques et expressions ont des équivalents sous stata
Quelques fonctions usuelles sous stata
Fonctions usuelles Expressions
Racine carré sqrt by permet de répéter une commande
pour chaque valeur (ou modalité)
Exponentielle exp d’une variable donnée. Syntaxe
générale pour by est :
logarithme log ou ln by variables : commande …

Valeur absolue abs if permet de spécifier les conditions


dans lesquelles une commande doit
Partie entière int être exécutée. Syntaxe générale pour
if est :
maximum max commande …. if condition

minimum min in permet de spécifier les observations


auxquelles s’applique une
moyenne mean commande. Syntaxe générale pour in
est :
Somme Sum, rsum ou commande …. in intervalle

(colonne, ligne) rowtotal


Beaucoup d'autres fonctions existent dans Stata (tirage de nombres aléatoire, extraction de
caractères,…). Pour en avoir la liste exhaustive, tapez help functions. Pour avoir la liste des
plus utilisées.

11
ISSP/UJKZ
Cours de STATA-MPSE II

2.2 Renommer et labelliser les variables et modalités


La commande rename permet de changer le nom d’une variable. La structure est de la sorte :
rename ancien_nom nouveau_nom
Pour changer la description de la variable, on utilise la commande label variable :
label variable nom_variable "Description de la variable"
Il faut noter que les abréviations de certaines commandes sont reconnues sous stata. On par
exemple écrire tout simplement, au lieu label variable : la var nom_variable "description de
la variable".
Pour changer les noms des modalités, il faut d’abord définir un catalogue de description
des valeurs de la variable, puis affecter cette catalogue à la variable qu’on veut labeliser les
modalités. Les commandes sont les suivantes :
label def nom_catalogue val1"description1" val2"description2" val3"description3"…
label valu nom_varaible nom_catalogue
Si par exemple on voulait labeliser la variable statut dont les valeurs sont 0, 1 ; en : [Link]
Marié, [Link]é on aura :
label def statMod 0"Non Maré" 1"Marié"
label val statut statMod

2.3 Recoder ou remplacer les valeurs d’une variable


Le codage des variables ne correspond pas toujours à ce qu’on veut. On peut vouloir changer
les codes (par exemple [Link], [Link] à [Link], [Link]). L'utilisation de la commande
recode permet d’obtenir ce changement. Il s’écrit : recode var1 (règle1) (règle2) …, gen ( ).
Ces règles peuvent prendre plusieurs formes :
Règle Action
3=1 3 recodé en 1
2.=9 2 et . recodé en 9
1/5 = 4 toute valeur de 1 à 5 recodée en 4
nonmiss = 8 toute valeur non manquante recodée en 8
miss = 9 toute valeur manquante recodée en 9
L'option gen permet de créer une nouvelle variable contenant le nouveau découpage des
modalités. Sans spécifier cette option, var1 est remplacée par la variable nouvellement codée.
recode marital (1=3) (0=2) si par exemple le code pour célibataire devrait être 3 au lieu de 1
et vie avec un partenaire 2 au lieu de 0.

12
ISSP/UJKZ
Cours de STATA-MPSE II

recode salaire 99999=. si le codage du salaire donne 99999 en cas d'absence de réponse. Le
point est considéré comme une observation manquante.
La commande replace sert à remplacer la valeur d'une variable déjà existante :
replace moins10ans=0 if age>=10.
A la différence de la commande recode, replace fonctionne aussi avec des chaines de
caractères(string).
replace pays="Burkina Faso" if pays=="Haute-Volta"

2.4 Garder ou supprimer des observations dans la base de données


On est parfois amener à supprimer certaines observations ou variables inutiles afin de rendre la
base plus légère et facile à manipuler. La commande keep vous permet de garder et drop de
jeter... On les utilise alternativement selon le nombre de variables à garder ou à jeter.
Variables :
keep var1 var2 var3… (garder les variables var1 var2 var3…)
drop var1 var2 var3…(supprimer les variables var1 var2 var3)
Avec les observations et les commandes logiques, il est possible de préciser ce que l'on veut
effacer en le conditionnant à la valeur d'autres variables. Par exemple, on garde les plus de 15
ans : keep if age>=15 ou bien on supprime les individus nées en 1950 et 1968 :
drop if naissance==1950 | naissance==1968.
Autrement, si vous voulez supprimer les 30 premières observations, il suffit de : drop if _n<=30
ou pour supprimer la dernière observation : drop if _n==_N. (_n donne le rang de
l'observation, et _N qui désigne le nombre d'observations dans la base de données).

2.5 Trier les observations sous stata


La commande sort (abrégée en so) classe les données par ordre croissant ou par ordre
alphabétique (A-Z) lorsque qu’il s’agit des variables alphanumériques. Il est possible de
préciser les variables selon lesquelles le classement peut être effectué : sort sexe age. Cette
commande va classer les observations par sexe (d'abord les femmes en numéro 0 et puis les
hommes en numéro 1, par exemple) puis au sein de chaque sexe par âge. On peut utiliser la
commande gsort pour effectuer des classements dans des ordres croissant ou décroissant. Un +
ou un - vient donner le sens du classement au sein de chaque variable : gsort sexe -age.

13
ISSP/UJKZ
Cours de STATA-MPSE II

Le processus by qui doit suivre obligatoirement un classement avec sort permet d'utiliser la
plupart des commandes pour chaque valeur de la variable indiquée par by. Les exemples
suivants vont vous aider à comprendre le principe :
sort sexe
by sexe : ta age (On obtient ainsi la distribution par âge d'abord pour les femmes, puis pour les
hommes).
order et aorder servent également à ordonner les variables de la base. aorder sert à ordonner
les variables de la base par ordre alphabétique.

2.6 Création de nouvelles variables


2.6.1 Avec des opérateurs arithmétiques
Les principale commandes de création de variables sont : generate et egen. La commande egen
est une extension de la commande generate, elle est utilisée pour créer des variables avec des
fonctions spécifiques.
Exemples de création de variables :
gen var3=var1+var2 /*addition*/
gen var4=5*var1 /*multiplication*/
gen var6=var2/var1 /*division*/
gen logvar=log(var) /*logarithme*/
gen region=int(identifiant/10000) /*partie entière*/
gen var1=var2==1 /*(var1 est une variable dichotomique prenant la valeur 1 si var2 est égale
à 1, 0 sinon)*/
gen urbain=milieu==1 Ou bien tabulate var2, gen(var)
/* créer des variables dichotomiques pour chaque modalité de la var2*/
tabulate nivscol2, gen(niv_scolaire)

2.6.2 création des variables avec quelques fonctions spécifiques


egen var7=sum(var1) /*somme de la variable1*/
egen var8=sd(var2) /*écart type de la variable2*/
egen var10=rsum(var1 var2 var3) /*somme des variables 1, 2 et 3*/
egen damm=rsum (alim habit habillement sante transport enseignement …)

14
ISSP/UJKZ
Cours de STATA-MPSE II

/*la dépense totale du ménage est la somme des différents groupes de dépenses*/

2.6.3 création des percentiles :


xtile quintile=var1, nq(5) /*quintile */
xtile decile=var2, nq(10) /*décile */

2.6.4 création de variables avec la fonction cond(x,a,b)


cond(x,a,b) retourne a si la condition x est vérifier, b si elle ne l'est pas. Elle est utile pour créer
des variables en tapant moins de ligne de commande.
Exemple : generate moins10ans=cond(age<10,1,0)

2.7 Autres commandes de manipulations des données


La commande encode permet de convertir une variable alphanumérique en une variable
numérique discrète, dont les modalités sont "labellisées" avec les chaînes de caractères de la
variable initiale. Ici, var1 est initialement une variable alphanumérique prenant les valeurs
"absent", "présent" et "visiteur" : encode var1, gen(var2). var2 est une variable numérique dont
les codes sont automatiquement affectés par STATA : par défaut [Link], [Link]ésent, [Link].
La commande decode permet faire l’effet contraire : decode var2, gen(var3) (var3
nouvellement créée est une variable alphanumérique).
La commande destring permet de transformer une variable alphanumérique en variable
numérique : destring region, g(c_region)
La commande tostring permet transformer variable numérique en une variable
alphanumérique : tostring c_region, g(region)

2.8 Les bases en format long et large


Un format "large" (en anglais wide) correspond à l'utilisation de différentes variables en
lieu et place de différentes observations. Le fichier de données est donc plus large car les
variables sont rangées en colonne. A l'inverse, le format "long" correspond à l'utilisation
minimale des variables avec plus d'observations, ce qui allonge la base de données, puisque les
observations sont rangées en ligne. Un exemple va clarifier le concept :

15
ISSP/UJKZ
Cours de STATA-MPSE II

Long
Large
i j var
i j Var1 Var2 Var3
1 1 20
1 1 20 40 10
1 2 50
2 1 40
1 2 50 70 15

2 2 70
3 1 10
3 2 15

Bien vrai que les données sont le plus souvent sous format long ; mais on peut avoir des formats
large qu’on veut transformer en format long. La commande à utiliser est :
reshape long var, i(i) j(j)
j nouvelle variable
A l’inverse pour passer du format long au format large, on a :
reshape wide var, i(i) j(j)
j une variable existante

2.9 Combinaison horizontale et verticale des bases de données


La combinaison des bases de données peut s’effectuer de deux manières selon les
données à combiner :

2.9.1 Ajouter des observations :


lorsque vous disposez de deux bases de données qui comportent les mêmes variables.
La seconde base peut être la suite de la première base ou les mêmes informations collectées
dans un autre contexte (un autre pays ou ville par exemple). Pour ajouter les bases de données
il suffit d’utiliser la commande append.
use micro_Findex_Benin_2021, clear
append using "micro_Findex_Burkina Faso_2021"
append using "micro_Findex_Cote d'Ivoire_2021"
append using "micro_Findex_Mali_2021"
append using "micro_Findex_Senegal_2021"
append using "micro_Findex_Togo_2021"

16
ISSP/UJKZ
Cours de STATA-MPSE II

2.9.2 Ajouter des variables :


lorsque vous disposez d’autres informations sur les mêmes individus. Les variables sont ici
différentes. Il vous faudra une clé unique qui identifie chaque individu. Il faut songer à trier les
deux bases suivant cette variable clé, avec la commande sort, pour permettre au logiciel de faire
la bonne fusion.
use "[Link]", clear
sort identifiant
merge 1:1 identifiant using “[Link]”
tab _merge
La commande merge crée la variable merge qui permet de vérifier que la fusion a été réalisée
comme voulu. Elle peut prendre trois valeurs :
o Les observations de la base principale n'ont pas été retrouvées dans la base
ajoutée (celle après using)
o Les observations de la base ajoutée n'ont pas été retrouvées dans la base
principale (master)
o Les observations dans les deux bases ont été retrouvées et connectées.
Il faut toujours vérifier que l'opération s'est bien déroulée en regardant si merge prend
des valeurs différentes de 3. Si ce n'est pas le cas alors regardez pour quelles observations
l'opération n'a pas fonctionné. Il faudrait bien spécifier la nature de l’identifiant dans les deux
bases (identifiant de groupe ou individuel ) :
merge 1 :1 → un à un
merge 1 :m → un à plusieurs
merge m :1 → plusieurs à un
merge m :m → plusieurs à plusieurs

2.10 commande de regroupement ou d’aggrégation : collapse


La commande collapse transforme la base de données en statistiques essentielles sur
celle-ci, comme en moyenne, somme, médiane... C'est particulièrement utile si vous souhaitez
obtenir une base de données annuelle à partir de données trimestrielles ou mensuelles. Une autre
utilisation possible est d'obtenir facilement des statistiques dans l'éditeur que vous pouvez
copier dans un tableur (Excel ou autre). Le danger de cette commande est qu'elle efface les

17
ISSP/UJKZ
Cours de STATA-MPSE II

données sources. Il faut donc bien vérifier que vous avez sauvegardé le fichier de données sous
un autre nom auparavant.
collapse (sum) var1, by(var2 var3)
rename var1 var
La première parenthèse donne le type de transformation (sum=somme ;
mean=moyenne; sd=écart-type ; median=médianne) puis il faut préciser la variable qui subit la
transformation (var1 ici). Après une virgule et la commande by, entre parenthèses on inclut les
variables qui servent de référence à la transformation ; ici on fait donc la somme de la variable
var1 suivant var2 et var3. Il faut renommer la variable transformée pour qu'elle désigne ensuite
ce qu'elle représente vraiment.
Une deuxième raison de se méfier de l'utilisation de collapse est que cette commande
traite les observations manquantes comme des zéros. Dans l'utilisation des moyennes, il faut
donc se méfier et recoder si nécessaire les observations manquantes avant d'utiliser cette
commande.
On peut utiliser les commande preserve et restore pour récupérer notre fichier initial :
use "[Link]”, clear
preserve /*garder le fichier existant*/
collapse (sum) var1, by(var2 var3)
rename var1 var
restore /*récupérer le fichier*/

2.11 Simplifier les tâches répétitives sous stata


2.11.1 Définitions des boucles sous stata

Une boucle est un programme qui permet de faire une manipulation des variables au
lieu de plusieurs. Elle permet donc d’effectuer les tâches répétitives.

2.11.2 Les boucles foreach et forvalues


Ce sont des boucles beaucoup utilisées, pour ne pas les plus, dans le domaine de
traitement des données. Ils viennent de la boucle for utilisées dans d’autres logiciels comme
pour dire pour chaque variable ou pour chaque valeur.
Par exemple, les variables education, statut, sexe, residence contiennent des -[Link]
que vous voulez changer pour les considérer comme des valeurs manquantes, on a :

18
ISSP/UJKZ
Cours de STATA-MPSE II

foreach var in(ou of) education statut sexe residence {


recode `var’ (-99=.)
}
Ou pour renommer un série de variable sexe age etatmatr emploi residence naissancDat :
foreach var in sexe age etatmatr emploi residence naissancDat {
rename `var’ `var’_1
}
On peut aussi utiliser foeach pour des valeurs numériques.
foreach x=1/1000 {
instructions
}
Dans le fichier BaseUEMOA, on a des données sur quelques pays de l’UEMOA : Burkina Faso,
Benin, Togo, Sénégal. Je veux extraire les données de chaque et l’enregistrées en son nom.
forvalues i=1/4 {
use BaseUEMOA, clear
keep if pays==`i’ (pays est une variable codée de 1 à 4 pour l’ensemble des pays)
save BaseUEMOA`i’, replace
}
Pour des valeurs allant de #1 à #2 à intervalle de #d, on utilisera :
forvalues valeur=#1(#d)#2 {
Instructions
}

2.11.3 La boucle while


La commande while oblige le logiciel à répéter la commande entre accolade jusqu'à ce
que la condition précisée par while ne soit plus vraie. Il faut d'abord lancer un compteur par le
biais d'une macro locale, puis préciser la condition de la boucle.
local→ pour définir une macro locale
global→ pour définir une macro globale
scalar → pour définir un scalaire
essayons en exemple de calculer les moyenne absolue de l’âge, on a :

19
ISSP/UJKZ
Cours de STATA-MPSE II

scalar moyen=mean(age)
local x=0
local ecart=0
local ecarcum
while `x’<=_N {
local ecart=abs(age[`x’]-moyen)
local ecartcum= ` ecartcum’ + `ecart’
local x=`i’+1
}
scalar ecartmoy= ecartcum/x

20
ISSP/UJKZ
Cours de STATA-MPSE II

Chapitre 3 : Analyse descriptives des données sous stata

3.1 Pondération
La plupart des commandes Stata peuvent traiter des données pondérées. Stata permet
quatre types de pondération :
1. fweights, ou poids de fréquence, sont des poids qui indiquent le nombre
d'observations dupliquées. Le poids indique à la commande le nombre d'observations que
chaque observation représente réellement. Le poids permet aux données d'être stockées plus
parcimonieusement. La variable de pondération contient des entiers positifs. Le résultat de la
commande est le même que si vous aviez dupliqué chaque observation un nombre illimité de
fois, puis exécuté la commande. chaque observation, quel que soit le nombre de fois, puis que
vous exécutiez la commande sans pondération.
2. pweights, ou poids d'échantillonnage, sont des poids qui indiquent l'inverse de la
probabilité que l'observation soit incluse en raison du plan d'échantillonnage. Les commandes
qui autorisent les pweights fournissent généralement une option vce(cluster clustvar). Celles-
ci peuvent être combinées pour produire des estimations pour des données échantillonnées en
grappes non stratifiées. Si vous devez également traiter des questions de stratification ;
3. aweights, ou poids analytiques, sont des poids qui sont inversement proportionnels
à la variance d'une observation ; c'est-à-dire que la variance de la jème observation est supposée
être sigma^2/w_j, où w_j sont les poids. Typiquement, les observations représentent des
moyennes et les poids sont le nombre d'éléments qui ont donné lieu à la moyenne. Pour la
plupart des commandes Stata, l'échelle enregistrée des poids n'est pas pertinente ; Stata les
rééchelonne en interne pour que la somme soit égale à N, le nombre d'observations dans vos
données, lorsqu'il les utilise. Les pondérations analytiques sont généralement appropriées
lorsque vous traitez des données contenant des moyennes. Par exemple, vous avez un revenu
moyen et des caractéristiques moyennes d'un groupe de personnes. La variable de pondération
contient le nombre de personnes sur lequel la moyenne a été calculée (ou un nombre
proportionnel à ce nombre).
4. iweights, ou poids d'importance, sont des poids qui indiquent l'importance de
l'observation dans un sens vague. Les iweights, n'ont pas de définition statistique formelle; toute
commande qui supporte les iweights définira exactement comment ils sont traités.

21
ISSP/UJKZ
Cours de STATA-MPSE II

Habituellement, ils sont destinés à être utilisés par les programmeurs qui veulent produire un
certain calcul.
La syntaxe générale est la suivante :
command ... [weightword=exp] ...
Par exemple:
. anova y x1 x2 x1*x2 [fweight=pop]
. regress avgy avgx1 avgx2 [aweight=cellpop]
. regress y x1 x2 x3 [pweight=1/prob]
. scatter y x [aweight=y2], mfcolor(none)
Stata autorise les abréviations : fw pour fweight, aw pour aweight, et ainsi de suite.
Les fonctionnalités de Stata pour les données d'enquête sont centrées autour de la commande
préfixe svy. Cet aperçu organise et présente les commandes de manière conceptuelle, c'est-à-
dire en fonction des similitudes entre les fonctions qu'elles exécutent.
svyset : Déclare le plan d'enquête pour l'ensemble des données.
Exemple : svyset county [pw=sampwgt], strata(state) /*Declaration*/
Une fois le plan de sondage défini, le prefixe svy permet d’effectuer des estimations en
estimant correctement la précision :
svy: mean weight, over(sex) /*Estimation de la moyenne de weight suivant le
sexe*/
svy : tabulate sex /*tabulation pondérée de la variable sexe*/
svy : reg var1 var2

Svydescribe : Décrire les données de l'enquête

3.2 Les commandes de bases de tabulations statistiques


3.2.1 Cas d’une variable quantitative

Avec les variables quantitatives, on cherche le plus souvent à connaitre la moyenne,


l’écart type, variance, minimum, maximum, skewness, kurtosis ou les percentiles… Les
commandes summarize et tabstat permet d’obtenir facilement ces statistiques. La syntaxe est :
summarize var1 var2 [fw=coef_ind]], detail

22
ISSP/UJKZ
Cours de STATA-MPSE II

tabstat var1 [fw=coef_ind], stat(mean median min max N) by(milieu)

3.2.2 Cas des variables qualitatives


La commande tabulate permet de bien d’organiser les tableaux simples ou croisés :
tab var1 /*tableau simple : avec une seule variable*/
tab var1 var2 /*les n seulement d’un tableau de croisemen*/
tab var1 var2, row /*les n+% lignes*/
tab var1 var2, row col /*les n+%lignes+%colonnes*/
tab var1 var2, nofreq row col /*%lignes+%colonnes*/
table var1 var2 var3 /*les n seulement d’une table à 3 entrées*/
tab var1 var2 [fw=coef_ind], col row scol format(%12.0g) /*tableau pondéré*/
scolumn : ajouter supercolonne totaux
format(%12.0g) : format d'affichage des nombres dans les cellules ; par défaut format(%9.0g).

3.2.3 Liaison variables qualitatives et variables quantitatives


tab var1 var2, sum(var3) nofreq /*moyenne de var3 (Quantitative) vs 2 var
qualitative*/
table var1 var2 var3, c (mean var4 median var4 ) row col scol
/*les stat des d’une variable quantitative (var4) en fonction de 3 var qualitatives*/

3.3 Les tests usuels


Test d’indépendance entre deux variables qualitatives
table var1 var2, chi2 /*relation d’indépendance entre deux variables*/
Test de corrélation de Pearson
corr var1 var2 var3 /*coefficient de corrélation entre les variables*/
pwcorr var1 var2 var3 …, sig /*coef. corrél. entre les variables + degré de sig*/
Test de différences de moyennes
ttest var1=var2 /*comparaison de la moyenne de 2 échantillons*/
ttest var1=valeur /*comparaison de la moyenne d’une variable*/
ttest var1, by(var2) /*comparaison de la moyenne de deux groupes*/

23
ISSP/UJKZ
Cours de STATA-MPSE II

3.4 Exportations des tableaux.


La commande logout fournit un moyen rapide et facile de convertir les fichiers journaux
ou ASCII en divers formats de sortie compatibles avec Word, Excel, LaTex ou le fichier de
données Stata. Peut être utilisé comme préfixe ou seul après la création d'un fichier journal.
Plus précisément, logout importera les fichiers de texte brut au format délimité par des
tabulations, qui sera ensuite converti dans le format de sortie de votre choix. La méthode par
défaut est tab/space-delimited, ainsi qu'une liste de suspects habituels. Alternativement, la
méthode infixe peut être utilisée lorsque la position de la colonne est significative. Peut
également être utilisé pour analyser des fichiers sales tels que html, etc. Peut également être
utilisé pour analyser n'importe quel fichier journal ASCII, y compris ceux produits par SAS,
SPSS, etc. Dans Stata, vous pouvez utiliser caplog pour créer des fichiers journaux à la volée.
table et tabstat sont automatiquement gérés par la méthode fix. La syntaxe est :
logout, save(table1) excel replace : table var1 var2 … /*format Excel*/
logout, save(table1) word replace : table var1 var2 … /*format Word*/
logout, save(table1) tex replace : table var1 var2 … /*format texte*/
logout, save(table1) excle word ex replace : table var1 var2 … /*tous les formats*/
logout, save(mystuff) excel replace: table var1 var2, c(n mpg mean mpg sd mpg median
mpg)
La commande tabout est un programme de création de tableaux pour les tableaux à une
et deux voies de fréquences et de pourcentages, et pour les tableaux récapitulatifs. Il produit des
tableaux de qualité publication pour l'exportation vers un fichier texte. Ces tableaux peuvent
ensuite être utilisés avec des tableurs, des traitements de texte ou xls, des navigateurs web ou
des compilateurs comme LaTeX. Les tableaux produits par tabout des panneaux multiples, de
sorte qu'un certain nombre de variables peuvent être incluses dans un seul tableau. tabout
fournit également des erreurs standard et des intervalles de confiance, ainsi qu'une gamme de
statistiques de tableau (chi2, etc.). de statistiques de tableau (chi2, etc.). La sortie de tabout
correspond à tabulate de Stata, à la plupart de tabstat et à certains de table. La syntaxe est :
tabout var1 var2 var3 var3 [iw=wt] ///
using “[Link]”, replace c(freq row col) f(0c 1p 1p) ///
layout(cb) h1(nil) h3(nil) npos(row)

24
ISSP/UJKZ
Cours de STATA-MPSE II

using est nécessaire, et indique le nom de fichier pour la sortie. Certaines applications
(en particulier MS Excel) "verrouillent" les fichiers lorsqu'ils sont ouverts. tabout ne peut pas
écrire dans ces fichiers et émet donc un message d'erreur, vous avertissant de vérifier si le fichier
est déjà ouvert dans une autre application. replace ou append sont des options de fichier, et
déterminent si la sortie actuelle va écraser un fichier existant, ou être ajoutée à la fin de ce
fichier. Si vous omettez append ou replace, tabout émet un avertissement si le fichier existe
déjà. cells (en abrégé c) détermine le contenu des cellules du tableau. Comme le montre le
tableau ci-dessous, vous pouvez saisir un ou plusieurs des éléments suivants : freq cell row col
cum dans un tableau de base. Ils peuvent être dans n'importe quel ordre. Lorsque vous
choisissez l'option svy, vous ne pouvez avoir qu'un seul de ces choix, et il doit venir en premier.
Les choix supplémentaires qui sont alors disponibles sont : se ci lb ub. Format (f) indique le
nombre de points décimaux. Contrairement à la version traditionnelle de Stata, cette option ne
nécessite qu'un nombre. Ne saisissez pas les symboles % ou f. Vous pouvez cependant saisir c
pour virgule (qui est un espace en anglais), p pour pourcentage et m pour monnaie (devise) et
vous pouvez utiliser l'option de monnaie pour spécifier la devise. Par exemple, vous pouvez
entrer f(0c1p 1p 2) pour produire : 1,291 9.2% 10.3% 23.93. Les entrées doivent être dans le
même ordre que celui des cellules, c'est-à-dire que si freq vient en premier, 0c doit venir en
premier. si vous souhaitez que le format des fréquences soit 0 décimale (avec des virgules). Il
n'est pas nécessaire de saisir le même nombre d'entrées de format que d'entrées de cellules. Si
vous en saisissez davantage, tabout les ignore ; si vous en saisissez moins, la dernière entrée de
format est répétée pour les entrées de cellule restante.
L’option layout détermine comment les colonnes seront disposées. Elles peuvent être
disposées en colonnes alternées (No. % No. % No. %) et en lignes alternées (No. sur la première
ligne, % sur les deux suivantes, puis retour à No. et ainsi de suite). sur les deux suivantes, puis
retour au n° et ainsi de suite). Elles peuvent être en blocs de colonnes, ou en blocs de lignes, où
les données sont maintenues contiguës, par exemple : N° N° N° N° % % %. L'exception à cette
règle concerne les tableaux récapitulatifs dont la mise en page est fixe et pour lesquels vous
n'avez pas le choix. (Toutefois, l'option svy fait exception à cette règle, car elle peut être mise
en page en utilisant toutes ces options).

3.5 Les graphiques


3.5.1 Histogramme
hist var1, width(20) start(50) fraction=freq

25
ISSP/UJKZ
Cours de STATA-MPSE II

hist var1, width(20) start(50) fraction=freq normal /*Ajouter la courbe de distribution


normale*/

3.5.2 Diagramme en barre


Généralement la commande utilisée pour faire des graphiques en barre est graph bar :
graph bar var1 , over(var2) /*donne graphe de moyenne de la var1 en fonction de var2
(qualitative)*/ (vertical)
graph bar (median) var1, over(var2) /*donne graphe de la médiane de la var1 en
fonction de var2 (qualitative)*/ (vertical)
graph hbar var1 , over(var2) /*donne graphe de moyenne de la var1 en fonction de var2
(qualitative)*/ (horizontal)

3.5.3 Diagramme en secteur


La commande utilisée pour faire des Diagrammes en secteurs est graph pie :
graph pie var1 , over(var2) /*donne graph en secteur de la var1 selon la var2*/
graph pie var1, over(var2) by(var3 total /*donne graph ventilé par la var3 de la var1
en fonction de var2 (qualitative)*/

3.5.4 Nuage de points


Le nuage de points est utilisé lorsqu’on veut voir la liaison entre deux variables
quantitatives et la commande utilsée est twoway scatter :
twoway (scatter var1 var2) /*donne graph de la var1 en fonct de la var var2*/
graph (scatter var1 var2) || (lfit var1 var2) /*donne en plus du graph de la var1 en
fonction de la var2, la droite de régression */

26
ISSP/UJKZ

Vous aimerez peut-être aussi