Analyser ses données écologiques en SAS
![]()
16/03/04 - © M. Dufrêne.
SAS est un système d'analyse informatique de données statistiques. Il s'agit à la fois, d'un langage informatique et d'une bibliothèque de programmes statistiques prêts à l'emploi.
La structure d'un programme SAS comprendra typiquement les éléments suivants:
Les séquences DATA ont pour fonction :
Les séquences PROC font appel à des procédures, c'est-à-dire à des programmes de calcul fournis par SAS.
L'utilisateur aura donc à écrire lui-même la ou les séquences DATA et à donner les noms des procédures (avec leurs options éventuelles) auxquelles il veut faire appel.
Pour avoir un premier aperçu de la puissance du SAS, considérons un exemple où on dispose d'un fichier ( ici appelé "enfants.data") où pour 19 enfants, on a le nom, l'age, le sexe, la taille et le poids.
Fichier enfants.data :
ANDREE 13 F 140 38.2 BARBARA 13 F 161 44.3 BERNADETTE 14 F 155 46.1 GAETANE 12 F 148 38.2 JEANNE 15 F 155 50.5 MARTINE 11 F 123 22.4 ODILE 14 F 160 40.4 SOLANGE 12 F 140 34.7 VALENTINE 15 F 165 50.5 ANTOINE 14 M 172 50.5 HENRI 13 M 155 38.1 PATRICK 12 M 160 57.3 THOMAS 11 M 142 39.3 bruno 14 M 157 46.1 fran¢ois 12 M 142 37.1 jean 12 M 148 45.9 mathias 16 M 180 66.3 philippe 15 M 167 60. xavier 15 M 165 50.5
Ces données seront exploitées par le programme SAS créé dans un fichier appelé "enfants.sas". Posons que l'on désire:
Pour répondre a ces différentes requêtes, il suffira d'écrire le programme ci-dessous, qu'on appellera par exemple "enfants.sas"
Les expressions de langage SAS sont ecrites en majuscules, les expressions propres au programme sont écrites en minuscules.
Programme enfants.sas :
DATA enfants;
INFILE "/dufrene/sas/exemples/enfants.data";
INPUT nom $ 1-20 age sexe $ taille poids;
racubpoi = poids ** (1/3);
RUN;
TITLE "Quest 1 : Impression des donnees pour les ages > 14 ans";
PROC PRINT DATA=enfants (where=(age > 14));
RUN;
TITLE "Quest 2 : Correlation entre la taille et le poids";
PROC CORR PEARSON SPEARMAN DATA=enfants;
VAR taille poids;
RUN;
TITLE "Quest 3 : Graphique du poids et de la racine cubique du poids contre la taille";
PROC PLOT DATA=enfants;
PLOT taille * poids = sexe;
PLOT taille * racubpoi = sexe;
RUN;
TITLE "Quest 4 : Paramètres descriptifs caractérisant les deux sexes";
PROC SORT DATA=enfants; BY sexe;
PROC MEANS DATA=enfants; BY sexe;
RUN;
TITLE "Quest 5 : Régression multiple";
PROC REG DATA=enfants;
MODEL poids = age taille;
RUN;
TITLE "Quest 6 : Fréquences des sexes parmi les classes d'age";
PROC FREQ DATA=enfants;
TABLES age*sexe;
RUN;
On recoit alors le listing suivant
![]()