Atelier sur l’évaluation de l’impact
sanitaire des financements basés sur
les résultats
Tunis, Tunisie
Octobre 2010
Travailler avec STATA
et une seule base de données
Utilisation de Stata : Notions de base
Session 1
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l‟aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Remarque
Sous STATA, il existe plusieurs manières d‟exécuter une
tâche. Ne vous inquiétez pas si vous constatez qu‟une
méthode différente est utilisée.
Vous trouverez des informations supplémentaires
dans votre manuel intitulé « Getting started with
STATA »
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l‟aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Pour commencer :
Démarrer STATA
Option 1 :
Démarrer Tous les programmes Stata
Option 2 :
Double-cliquer sur l‟icône de STATA présent sur votre
poste de travail
Pour commencer :
Les fenêtres de STATA
La fenêtre Variables
Affiche la liste des variables que la base de données contient
La fenêtre Command
Où on saisit les commandes à exécuter sous STATA pour obtenir un
résultat
La fenêtre Review
Affiche toutes les commandes déjà exécutées
Permet de réutiliser une commande en cliquant simplement dessus
La fenêtre Results
Où s‟affichent tous les résultats des commandes exécutées
Pour commencer :
Ouvrir une base de données STATA
Première étape : Définir la taille de la mémoire
Utiliser la commande : set mem #m (remplacer # par la taille désirée)
set mem 100m / 200m
Deuxième étape :Vider la mémoire vive avant d‟ouvrir une nouvelle base
de données
Utiliser la commande : clear
Troisième étape : Indiquer au logiciel le dossier dans lequel se trouve votre
fichier de données enregistré au format STATA (dans ce cas, il s‟agit du
fichier « session1.dta »)
Choisir l‟une des options suivantes :
Option 1: Fichier Ouvrir Rechercher le dossier et le fichier de données que vous
voulez ouvrir
Option 2 : Commande use « emplacementdufichier\nomdufichier.dta »
préciser le répertoire
Option 3 (2 étapes)
gl data = « emplacementdufichier » Remplacer par le chemin d‟accès
approprié
Use « $data\session1.dta »
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l’aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Obtenir de l’aide :
Deux scénarios
Scénario 1
Vous connaissez la commande dont vous avez besoin mais vous
ne savez pas comment l‟utiliser
Commande : help suivi de la commande
Scénario 2
Vous savez ce que vous avez à faire mais vous ne connaissez pas
quelle commande utiliser
Aide recherche saisir ensuite le mot clé
Ou bien, Commande : Search suivi du mot clé
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l‟aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Les fichiers Do :
Utiliser un fichier Do
Conserve dans un document au format texte une trace
de toutes les commandes exécutées
Permet d‟exécuter toutes les commandes en une seule fois
Pas besoin de reprendre le travail il est possible de recréer la base
de données en exécutant un fichier Do
Facile de corriger les erreurs détectées ultérieurement
Créer / éditer un fichier Do
Créer un nouveau fichier Do : cliquer sur l‟icône « new do-file
editor » ou saisir la commande doedit
Éditer un fichier Do : doedit NOMDUFICHIERDO.do
Enregistrer un fichier Do : contrôle + s ou, lorsque le fichier Do en
question est affiché, Fichier Enregistrer
Exécuter un fichier Do
do NOMDUFICHIERDO.do
Les fichier Do :
Astuces pour créer de bons fichiers Do
Soyez organisé !
Titrer les différentes sections du fichier Do
Inclure des observations et des notes à votre intention
Toutes les lignes des fichiers Do qui ne sont pas des lignes de commande doivent
commencer par « * »
Au début de chaque fichier Do, inclure les éléments suivants
set mem #m (taille de la mémoire)
Titres
Pour décrire l‟objet du fichier Do, indiquer la date et identifier l‟auteur, etc.
Emplacement du fichier
Si l‟emplacement du fichier change, on n‟a besoin de le changer qu‟une seule
fois au début du fichier Do
Commande : cd EMPLACEMENTDUFICHIER
cd « C:\Documents and Settings\Desktop\STATA workshop »
Les fichiers Do :
La commande #delimit
La commande #delimit permet de rétablir le caractère qui
marque la fin d’une ligne de commande
Commencer le fichier Do par la commande #delimit;
La fin d‟une ligne de commande est marquée par le point-virgule
Pourquoi ?
Permet d‟écrire une commande sur plus d‟une ligne
Facilite la lecture du fichier Do
Permet d‟ouvrir plus facilement le fichier Do à partir d‟autres programmes
(Word, etc.)
Ne pas oublier d’inclure le point-virgule après chaque commande dans un
fichier Do !
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l‟aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Les fichiers Log :
Avoir un fichier Log
Les fichiers Do par opposition aux fichiers Log
Les fichiers Do = Conservent l‟historique de toutes les commandes exécutées
Les fichiers Log = Récapitulent les opérations effectuées pendant votre session
Stata
Enregistrent tous les résultats affichés selon la commande exécutée
Enregistrent toutes les analyses statistiques effectuées
Créer un nouveau fichier Log :
log using NOMDUFICHIERLOG.txt
Remplacer un fichier Log :
log using NOMDUFICHIERLOG.txt, replace
Ajouter un fichier Log :
log using NOMDUFICHIERLOG.txt, append
Fermer un fichier Log pour le sauvegarder :
log close
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l‟aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Explorer les données :
Parcourir et éditer les données
La commande browse
Permet d‟ouvrir une matrice de données réelles
La colonne contient la variable
La rangée contient l‟observation
Le contenu de la cellule d‟une variable correspondant à une observation particulière =
valeur
Lorsqu‟une cellule ne contient aucune information = valeur manquante
Pour afficher certaines variables seulement : browse a1_11a a1_12
Pour afficher certaines observations seulement : browse if a1_12==2
Pour n‟afficher que certaines observations correspondant à certaines variables seulement :
browse a1_11a if a1_11a<30
La commande edit
Permet d‟ouvrir une matrice de données réelles
Permet de modifier une valeur quelconque en mettant la cellule concernée en exergue
Fermer l’explorateur ou l’éditeur de données avant de continuer à utiliser STATA
IMPORTANT : Si vous êtes un simple utilisateur de données, vous ne devez pas les
modifier. Si vous le faites, créez un fichier Do/Log pour votre session.
Explorer les données :
Connaître les variables
La commande describe
Aperçu de la base de données :
Nombre d‟observations dans la base de données
Nombre de variables dans la base de données
Taille de la mémoire utilisée par la base de donnée et taille de la
mémoire restante
Informations de base sur les variables dans la base de données
Aperçu de quelques variables uniquement :
describe a1_11a a1_12
La commande codebook
Aperçu plus détaillé des variables
Nom, type et étiquette de la variable
Quelques statistiques descriptives de base sur la variable
Aperçu encore plus détaillé de quelques variables seulement :
codebook a1_11a a1_12
Explorer les données :
Types de variables
Données numériques
Stata lit les variables numériques
Types : byte, int, long, float, double (supporte différents nombres
de chiffres après la décimale)
La valeur manquante est identifiée par « . »
Données alphanumériques
Stata lit les variables textuelles
Types : str1, str2, str3, etc. (le chiffre après str indique la
longueur maximale de la chaîne de caractères)
La valeur manquante est identifiée par « » (espace)
Pour des détails supplémentaires : help data types
Explorer les données :
Étiquettes des variables et des valeurs
Les étiquettes des variables donnent une brève description de
celles-ci
a1_11a est étiqueté « âge/années »
a1_12 est étiqueté « État matrimonial »
Les étiquettes des valeurs décrivent les variables numériques
Exemple : Le code correspondant à État matrimonial (a1_12)
1 Jamais marié
2 Marié/Union civile (Monogame)
3 Marié (Polygame)
4 En cohabitation
5 Divorcé/Séparé
6 Veuf
Le mots figurant sur les étiquettes s‟affichent dans la page des
résultats bien que la valeur des variables soit une donnée
numérique (tab a1_12)
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l‟aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Statistiques sur les variables :
Tableaux récapitulatifs à simple ou à double entrée
Tableau à simple entrée : tabulate variable1
Exemple : tab a1_12
Affiche le nombre de fois qu‟une variable précise prend une valeur
Le % d‟observations ayant cette valeur
Peut inclure les valeurs manquantes : tab a1_12, miss
Tableau à double entrée : tabulate variable1 variable2
Exemple : tab a1_12 b12_12
La variable1 s‟affiche dans la rangée et la variable2 en colonne
Peut également permettre d’afficher :
Le % d‟observations pour chaque combinaison : tab a1_12 b12_12, cell
Le % d‟observations ayant la valeur de chaque variable1 correspondant à chaque colonne
de la variable2, séparément : tab a1_12 b12_12, col
Le % d‟observations ayant la valeur de chaque variable2 correspondant à chaque rangée
de la variable1, séparément : tab a1_12 b12_12, row
Pour supprimer le calcul des fréquences des valeurs prises par
une variable :
Ajouter nofreq à la fin de la commande : tab a1_12 b12_12, row nofreq
Statistiques sur les variables :
Tableaux de statistiques récapitulatives
La commande summarize (ou sum)
sum variable1 variable2 … (toutes la variables que vous souhaitez inclure)
Exemple : sum a1_11a b12_17
Produit des statistiques récapitulatives de base
Nombre d‟observations, moyenne, écart-type, valeurs minimum et maximum
La commande sum …,d
sum variable1 variable2 …, d (toutes la variables que vous souhaitez prendre en
compte)
Exemple : sum a1_11a b12_17, d
Produit des statistiques supplémentaires
Asymétrie, aplatissement, valeurs minimum et maximum, différents percentiles
Quand utiliser tab ou sum ? Orientations générales :
tab : variables qualitatives (sexe, état matrimonial, province) et valeurs discrètes (nombre
d‟enfants)
Sum : variables continues (revenu, versements directs) et variables discrètes
Pour une variable discrète, on peut utiliser la commande tabulate ou summarize (exemple, taille
du ménage)
Statistiques sur les variables :
Produire des tableaux statistiques
La commande Tabstat
Produit le tableau statistique désiré pour autant de variables que vous le voulez
Ces tableaux sont plus utiles à des fins de présentation que ceux obtenus après
l‟exécution de la commande sum
Préciser les variables et les statistiques que vous souhaitez voir
dans le tableau
Tabstat variable1 variable2 … , s(statistiques…)
Exemple : tabstat a1_11a b12_17, s(mean sd)
Pour afficher la liste des statistiques disponibles : help tabstat
Pour obtenir des statistiques par sous-groupe, ajouter en option
by(variabledusous-groupe)
Exemple : Pour afficher la moyenne et l‟écart-type d‟âge en fonction de l‟état
matrimonial
tabstat a1_11a , s(mean sd) by(a1_12)
Statistiques sur les variables :
Exporter les tableaux vers Excel, etc.
Méthode copier et coller
Coller les tableaux simples dans Word
Utiliser la police Courier New 9
Méthode copier et coller le tableau
Coller les tableaux formatés dans Excel
Pour conserver le formatage, copier exclusivement le
tableau et aucun autre résultat !
Statistiques sur les variables :
Identifier les valeurs atypiques
Valeurs atypiques
Il s‟agit des valeurs extrêmes des variables qui peuvent fausser les estimations
Détecter le problème
tab1 varlist : produit un tableau à une entré pour chaque variable
histogram var1
scatter var1 var2 : produit des diagrammes de dispersion
Traitement des valeurs atypiques
Utiliser les mesures qui ne peuvent pas être affectées par ces valeurs, telles que la médiane
au lieu de la moyenne
Supprimer les valeurs atypiques de la base de données (en général on les définit comme étant
des valeurs manquantes)
Utiliser la command : mvdecode varlist, mv(numlist) pour transformer les valeurs
numériques en valeurs manquantes
Exemple
Règle : Considérons un chiffre supérieur à 6 comme la valeur atypique de la variable
« nombre total d‟enfants (de sexe masculin) »
Créer une variable dont la valeur est égale à b12_01a gen boyspw= b12_01a
Transformer les valeurs atypiques en valeurs manquantes replace boyspw=. if
b12_01a>6
Ou mvdecode boyspw, mv (7 8 9)
Vérifier les résultats tab boyspw, miss
Aperçu de la session
1) Pour commencer : Ouvrir une base de données
2) Obtenir de l‟aide
3) Les fichiers Do
4) Les fichiers Log
5) Explorer les données
6) Statistiques sur les variables
7) Modifier les données
Modifier les données :
Structure des commandes
[1 By] : [2 Command] [3 Var] [4 Specify] [5 If], [6 Options]
1 « by »
Clause restrictive (facultatif)
Applique à nouveau la commande à des sous-groupes de données
2 Commande
Principale instruction donnée au logiciel STATA
3 Variables
Une ou plusieurs variables
4 Donner des précisions sur la commande
Pour certaines commandes
5 « if »
Clause restrictive (facultatif)
Signifie que la commande ne doit utiliser que les données précisées
6 Options
Autres précisions
Toujours à la fin et toujours après une virgule
Modifier les données :
L’expression « by »
[1 By] : [2 command] [3 Var] [4 Specify] [5 If], [6 Options]
Exécute les commandes en fonction du sous-groupe (défini par
une variable)
Parfois au début (avant la commande en [1])
by variable, sort: ……
bysort variable: ……
Parfois, à la fin, comme une option (en [6])
….. , by (variable)
Exemple:
Population utilisant actuellement une méthode contraceptive en fonction
de l‟état matrimonial :
by a1_12, sort: tab b12_12
bysort a1_12: tab b12_12
Modifier les données :
L’expression « if »
[1 By] : [2 command] [3 Var] [4 Specify] [5 If], [6 Options]
Fait savoir au logiciel STATA que la commande ne concerne
que certaines observations
Vient après la commande donnée à STATA
Expressions courantes avec « if » :
>, >=, <, <=, ==, != or ~=
Pour plus d‟une condition, utiliser le signe & (et)
Exemple : if age>20 & age<=30
Pour plusieurs possibilités, utiliser | (ou)
Exemple : if year==2004 | year==2005
Modifier les données :
Quelques commandes essentielles
generate (gen) et extended generate (egen)
Pour créer de nouvelles variables
replace
Remplace les variables existantes
rename
Renommer une variable
label var
Étiquette une variable en précisant son contenu
label val
Étiquette la valeur d‟une variable
drop
Supprime les variables ou les observations précisées
keep
Conserve seulement les variables choisies (supprime toutes les autres)
Modifier les données :
Utiliser la commande « gen » (generate)
Créer de nouvelles variables
Exemples avec la commande gen :
gen ones = 1 (colonnes contenant le chiffre 1)
gen age=a1_11a
gen age20=1 if a1_11a==20
gen over30=1 if a1_11a >30 & a1_11a!=.
STATA lit les données manquantes comme un nombre tendant vers
l‟infini. Utiliser prudemment les signes > et >=
Gen variable = variable1 / variable2
Divise variable1 par variable2
On utilise la commande gen pour des fonctions de base : +, -, *, /, etc.
Note : Le nom des variables ne commence jamais par un chiffre
Modifier les données :
Utiliser la commande « replace »
Utilisée exactement comme la commande gen mais
s‟applique aux variables existantes
Exemple avec la commande replace :
replace over30=0 if age<=30 &age!=.
over30 devient une variable auxiliaire
Le signe égal saisi une fois (=) dénote l‟égalité. Il est
utilisé dans les commandes generate et replace
Le signe égal doublé (==) est utilisé pour tester l‟égalité
dans le cadre d‟un test logique dont le résultat peut être
un (vrai) ou zéro (faux)
Modifier les données :
Utiliser la commande « egen »
Elle permet de créer des variables mais utilise souvent des
fonctions plus compliquées
Fonctions statistiques telles que la moyenne, l‟écart-type, etc.
Exemples avec la commande egen :
egen mean_variable=mean(variable)
egen mean_age=mean(age)
Pour un seul sous-groupe de l‟échantillon
egen mean_age_over30=mean(age) if over30==1
Pour chaque sous-groupe, séparément
Exemple : moyenne pour les personnes âgées de 30 ans au plus et moyenne pour les
personnes âgées de 30 ans au moins
by over30, sort: egen agegrpmean=mean(age)
egen agegrpmean=mean(age), by(over30)
Modifier les données :
Renommer et étiqueter les variables
Renommer les variables
La commande rename permet de changer le nom d‟une variable
rename [nom de la variable] [nouveau nom de la
variable]
Exemple : rename over30 thirty_plus
Étiqueter les variables
Les étiquettes des variables décrivent celles-ci
C‟est un bon moyen de vous rafraîchir les idées plus tard. Cela
permettra aussi aux autres utilisateurs de comprendre votre base
de données !
label var variable « [petite description de la variable] »
Exemple : label var over30 « =1 si la femme a plus de 30 ans »
Modifier les données :
Étiqueter les valeurs
Les étiquettes des valeurs décrivent les variables numériques
Exemple : no=0 et yes=1 dans la base de données
Première étape : Créer l‟étiquette
label def [lbl name] [value1] “[lbl for value1]” value2 “[lbl for
value2]”
Exemple : label def ny 0 “No” 1 “Yes”
La valeur précède toujours l’étiquette qui est présentée entre des guillemets
Deuxième étape : Affecter la valeur de l‟étiquette à la variable
concernée
label val [variable étiquetée] [étiquette que vous voulez lui
affecter]
Exemple : label val over30 ny
Note : La même étiquette peut être affectée à d’autres variables!
Modifier les données :
Supprimer et conserver des variables et des observations
Supprimer et conserver des variables
drop permet d‟effacer les variables que vous ne souhaitez pas que STATA
conserve
Drop variable
keep permet de supprimer toutes les variables, à l‟EXCEPTION de celles
que vous souhaitez que STATA conserve
Keep variable1 variable2 …
Supprimer et conserver des observations
Préciser les observations que vous voulez effacer ou conserver en
utilisant l‟expression « if »
drop if over30==0
Permet de supprimer toutes les observations pour lesquelles la variable
correspondant à over30 est égale à zéro
keep if over30==1
Permet de conserver toutes les observations pour lesquelles la variable
correspondant à over30 est égale à un
Modifier les données :
Commandes répétitives
La commande foreach
Permet de faire des boucles
Les boucles sont utilisées pour effectuer des tâches répétitives
Syntaxe
foreach item in a-list-of-things {
body of loop using `item' ...
}
Exemple
label def ny 0 “No” 1 “Yes”
foreach x in b12_06a b12_06b b12_06c b12_06d b12_06e b12_06f
b12_06g b12_06h b12_06i b12_06j b12_06k b12_06l {
replace `x'=0 if `x'==2
label value `x' ny
tab `x„
}
Modifier les données :
Enregistrer les modifications
Toujours sauvegarder la base de données modifiée
sous un nouveau nom
save NOUVELLEBASEDEDONNÉES pour sauvegarder
une nouvelle base de données
save NOUVELLEBASEDEDONNÉES, replace pour
remplacer la dernière version
Exemple : save session1_changed.dta, replace
Ne jamais remplacer le fichier de données original !!!
Merci