Introduction - Stata - ISMS PDF
Introduction - Stata - ISMS PDF
Introduction - Stata - ISMS PDF
(RIM)
Introduction à Stata
Introduction
Stata est un logiciel statistique créé par StataCorp. La première version officielle de Stata date
de 1985. Stata est particulièrement utilisé par la communauté scientifique dans les domaines
de la médecine, la biologie, la sociologie et l’économie.
La version actuelle est la version 16 (Juin 2019).
Trois logiciels composent l'offre Stata pour une même version:
Stata/MP : version utilisant les possibilités de calcul parallèle sur des machines multi-
processeurs
Stata/SE : version professionnelle de Stata, avec des capacités de calcul sur des jeux de
données de grande taille
Stata/IC : version standard, avec des restrictions sur la taille des matrices et des
données.
Ce support de cours est très basique et offre juste bref aperçu du logiciel Stata. Il a pour but
de familiariser le lecteur avec l’environnement Stata et non d’en faire un utilisateur avancé.
La version de Stata sur laquelle porte ce document est la version 13, portable.
1 Environnement Stata
1.1 Les fenêtre principales
Au lancement de Stata plusieurs fenêtres sont affichées via une fenêtre intégrée et compacte,
présentée dans la vue ci-dessous.
La fenêtre Propriétés : elle permet d’afficher les propriétés des variables présentes dans la
base. En effet, elle affiche les propriétés de la variable sélectionnée dans la fenêtre des
variables.
1Sur ce bouton n’apparait explicitement pas l’étiquette « copy », il y a juste un symbole représentant deux feuilles
de papier superposées.
La commande ci-dessus permet de lire le fichier auto.dta présent dans le répertoire de travail.
Pour le cas où le fichier à lire se trouve dans un autre répertoire, il est nécessaire de spécifier
l’adresse du fichier comme ci-dessous.
use “c:\mes données\auto.dta”
Dans une session Stata, on ne peut avoir qu’une seule base de données ouverte à la fois. Ainsi,
s’il existe dans la session, une base de données précédemment ouverte (ayant subi des
modifications), il faut préalablement sauvegarder ces modifications et ensuite, fermer cette
base de données avant d’utiliser la commande use pour en ouvrir une nouvelle. Dans le cas
où les modifications ne doivent pas être sauvegardées, la commande use peut être utilisée
directement avec l’option clear. Cela permettra de fermer la base ouverte sans sauvegarder
les modifications.
use auto.dta, clear
La commande insheet lit les fichiers textes pour lesquels chaque observation figure sur une
seule ligne et les variables sont séparés par un caractère particulier. Toutefois, il existe la
commande infile qui est bien plus puissante que insheet qui permet de traiter des cas
d’importations plus complexes.
Pour le cas particulier des fichiers textes avec variable séparés par des espaces, on peut utiliser
rapidement infile.
Par ailleurs, pour le cas des fichiers textes où aucun caractère particulier n’est utilisé pour
séparer les variables, l’on dispose des commandes infix et infile.
Remarque :
Dans Stata, l’indicateur de décimal c’est le point (.). Avant d’importer un fichier, notamment
les fichiers csv, Il est opportun de s’assurer que c’est le point (.) et non la virgule qui est utilisé
comme séparateur de décimal.
Lorsque le chemin n’est pas spécifié, la base est stockée par défaut dans le répertoire actif
(l’environnement de travail). L’option replace est utilisée pour enregistrer les modifications
apportées à une base de donnée existante. Dans le cas de l’enregistrement d’une nouvelle base
de données, on n’utilise pas cette option.
Pour enregistrer les données dans format compatible avec les versions antérieures notamment
les versions 9 et 10, on utilise la commande saveold.
Il faut noter ici que l’égalité dans la syntaxe Stata est traduite par le symbole == et non le
symbole =. En effet ce dernier renvoie plutôt à l’affectation.
2 La valeur manquante numérique par défaut (.) est appelé ‘system missing value’ (sysmiss)
Ces valeurs manquantes sont ordonnées et sont toutes supérieures à la valeur manquante par
défaut, à savoir le point (.) . Ainsi, on a l’ordre suivant :
Valeurs numériques < . < .a < .b < .c < … < .z
Concernant les chaines de caractères, c’est la chaine de caractère vide "" qui est considérée,
comme valeur manquante par défaut. Elle est la plus petite valeur pour les chaines de
caractères.
généralement identifiées par des mots clés constitués des premières lettres de leurs noms. En
référant à l’aide ou à la documentation pour une commande donnée, les premières lettres qui
constituent le mot clé pour celle-ci apparaissent soulignées. Par exemple pour la commande
use le mot clé c’est « u ». Ces mots clés représentent le nombre de caractères minimal
nécessaire pour identifier la commande. Ainsi les trois instructions ci-dessous sont toutes
identiques.
u auto.dta
us auto.dta
use auto.dta
Cette fonctionnalité peut permettre un gain temps significatif lors de l’élaboration d’un do-
file et elle diminue également les risques d’erreurs sur les noms des commandes.
Remarque : bien que cette fonctionnalité soit très pratique, il faut éviter d’en abuser. En effet
pour plus de lisibilité dans un fichier de syntaxe, il peut être opportun de conserver un
minimum de caractères (bien au-delà du mot clé) dans le nom de la commande. Par exemple,
dans le cas de la commande use. Ecrire la commande en toute lettre permet d’avoir une
meilleure clarté dans le fichier de syntaxe d’autant plus que le nom de la commande est assez
court.
describe peut également être utilisé en spécifiant une liste de variable que l’on veut décrire.
La commande ci-dessous décrit toutes les variables de la base de données dont le nom
commence par la lettre a
d a*
descrire possède une version simplifiée. Il s’agit de la commande ds (pour describe short en
anglais). Elle liste les noms des variables présentes dans la base.
ds a* /* nom de toutes les variables commençant par a */
5.2 codebook
codebook fournit pour chaque variable présente dans la base de données un certain nombre
de caractéristiques, notamment le nombre de données manquantes et des statistiques
descriptives. Pour les variables numériques, la plage des valeurs est présentée. Lorsque la
variable est discrète et a un faible nombre de modalités, un tableau des effectifs est produit.
Pour les variables de type chaine de caractères, un échantillon des modalités de la variable est
présenté.
Tout comme avec la commande describe il est possible d’appliquer codebook à un nombre
restreint de variable
5.3 inspect
inspect fournit des éléments d’information pour chaque variable de la base tout comme
codebook. Toutefois, elle est moins performante que cette dernière. inspect renseigne
notamment sur le nombre de valeurs manquantes, le nombre de valeurs positives, négatives
et nulles. Il donne également un aperçu de la distribution des modalités.
La première commande ci-dessus supprime les variables sexe et age de la base de données,
alors que la seconde supprime toutes les variables de la base et ne conserve que les variables
sexe et age.
(3) le label des valeurs d’une variable : ce sont des étiquettes utilisées pour décrire les valeurs
ou les modalités prises par une variable donnée. Dans Stata, la prise en main des labels des
valeurs est un peu particulière car ceux-ci sont gérés de façon indépendantes par rapport
variable. Par exemple dans une base de données, on peut vouloir créer des labels des
valeurs pour la variable sexe qui prend les valeurs 1 et 2 correspondant à respectivement
« masculin » et « féminin ». Pour ce faire on va tout d’abord créé un label value qui décrit
les valeurs 1 et 2 comme étant masculin et féminin
label define masfem 1 "masculin" 2"feminin"
La commande ci-dessus crée un label de valeurs « masfem » dans la base, qui décrit les
valeurs 1 et 2 comme étant masculin et feminin. Toutefois ce label bien que présent dans
la base de données est indépendant de la variable sexe. Il peut être utilisé aussi bien avec
la variable sexe qu’avec n’importe quelle autre variable de la base. Pour utiliser ce label
pour décrire la variable sexe, on va l’appliquer à ce dernier.
label value sexe masfem
Il est également possible de voir le contenu d’un label de valeurs, de le modifier, de
l’associer à plusieurs variables et d’annuler une association qui a été faite.
label list masfem //voir le contenu
label value sexe . // annule l’association
Aussi, il est important de préciser qu’un label de valeur qui n’est rattaché à aucune variable
ne pourra être enregistré dans la base.
La commande recode
Elle fournit un moyen pratique de faire des recodages ou des regroupements des modalités
d’une variable catégorielle.
recode region (1 2=1) (3=2) (4/6=3) (mis=9)
L’instruction ci-dessus permet, pour la variable région, (i) de regrouper les modalités 1 et 2
et de les coder en 1 ; (ii) de coder la modalité 3 en 2 ; (ii) de coder la modalité allant de 4 à 6
en 3 (iv) de coder les valeurs manquantes en 9.
recode est très utile et offre beaucoup d’options. Il est possible par exemple possible de
spécifier des labels pour les modalités créées ou encore d’utiliser des mots tels que min, max
et else qui simplifient son utilisation
recode region (min/4=1 “zone1”) (else=2 “zone2”)
Dans la commande ci-dessus, les modalités de la variable région allant de la plus petite à la
modalité 4 sont codées en 1 et le reste en 2.
Par défaut, recode modifie directement la variable concernée. Il est possible d’enregistrer les
modifications dans une nouvelle variable et de garder intacte la variable initiale. Pour cela,
on utilise l’option gen comme dans l’exemple suivant :
recode region (1 2=1) (3=2) (4/6=3) (mis=9), gen(zone)
Cette commande crée une nouvelle variable zone par transformation de la variable région.
egen var=diff(var1 var2) /*crée une variable binaire qui prend 1 pour
les observations pour lesquelles les
variables var1 et var2 sont égales et pour
les autres.*/
egen var= rmean(var1 var2) /*crée une variable qui pour chaque
observation prend la valeur obtenue en
faisant la moyenne des variables var1 et
var2./
La variable sexe étant codifiée en 2 pour les femmes et 1 pour les hommes, ces derniers seront
placés dans les premières lignes de la grille des données. La commande classera d’abord les
hommes du plus jeune au plus âgé ensuite les femmes dans le même ordre.
Remarque : la commande sort classe les données manquantes toujours à la fin.
La commande gsort est plus générale que la commande sort. En effet, elle permet de prendre
compte les cas classement par ordre décroissant et offre des options quand la prise en main
des données manquantes. Avec cette commande, pour que le classement soit effectué dans
l’ordre décroissant pour une variable donnée, il suffit de la précéder du signe moins (-).
gsort sexe -age
La commande ci-dessus va d’abord classer les hommes, mais cette fois ci du plus âgé au plus
jeune et ensuite les femmes dans le même ordre.
Cette instruction commande permet de ne retenir que les garçons de moins de 5 ans. (en
rappel la variable sexe est codifiée en 2 pour les femmes).
On peut également sélectionner des observations à partir de leurs numéros de ligne
drop in 3/10
Cette commande supprime les individus de la ligne 3 à la ligne 10
keep if _n<=100
Cette commande garde les 100 premières observations.
display sin(pi_/3)