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:

  1. Reprendre les caractéristiques de tous les individus âgés de plus de 14 ans;
  2. Calculer les corrélations de Pearson (corrélation ordinaire) et de Spearman (corrélation de rang) entre la taille et le poids;
  3. Faire un graphique illustrant la relation entre la taille et le poids et un graphique illustrant la relation entre la taille et la racine cubique du poids;
  4. Calculer les caractéristiques moyennes des garçons et des filles;
  5. Calculer l'équation de régression multiple permettant de prédire le poids d'un individu connaissant son âge et sa taille;
  6. Connaître, pour l'échantillon, la distribution des garçons et des filles dans les différentes classes d'âge.

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

[Introduction] [Conventions SAS] [DATA step] [Fonctions] [Procédures de base]