Cours 5 - Procedures SAS

Transcription

Cours 5 - Procedures SAS
STT1682 – Progiciels en Statistique et Actuariat
Cours 5 – Procédures SAS
Procédures
Une procédure est un traitement SAS affecttant une base de donnée dans son ensemble. Ce sera
avec des procédures qu'on va sommariser,trier,analyses... des bases SAS. Elles seront
généralement utilisés à la suite d'étapes DATA.
PROC SUMMARY
La procédure PROC SUMMARY est une des procédures les plus pratique en programmation SAS. À
l'aide d'un PROC SUMMARY, on peut sommariser une base de donnée SAS par rapport aux
variables qu'on désire. Elle peut aussi être utilisé pour extraire d'autres statististiques descriptives
autre que la somme.
Syntaxe :
PROC SUMMARY DATA=BASEENTRANTE OPTIONS;
CLASS VAR1 VAR2...;*Facultatif si on veut aucun bris;
VAR VAR1 VAR2...;*Facultatif si on veut aucune statistiques descriptives;
OUTPUT OUT=BASESORTANTE STAT_DESC1(VAR1 VAR2...)= STAT_DESC2(VAR1 VAR2...)=;
RUN;
Le PROC SUMMARY ci-dessus va calculer les variables statististiques STAT_DESC... pour chacune
des variables spécifiés dans la ligne VAR selon le bris de variable spécifiés dans CLASS. La base
résultante contenant les statistiques souhaités sera BASESORTANTE.
Options utiles
- NWAY : Calcule les statistiques descriptives selon seulement le bris le plus fin spécifié dans CLASS
(IMPORTANT)
- MISSING : Traite les valeurs "missing" comme des 0
- Tout autre options appris précédement (WHERE,KEEP...) peuvent êtres appliqués à la
BASEENTRANTE/BASESORTANTE à l'aide de parenthèses.
Statistiques Descriptives (STAT_DESC)
- SUM : Sommarise chaque variable spécifiées dans la ligne VAR séparément
- MIN : Calcule le minimum de chaque variable spécifiées dans la ligne VAR séparément
- MAX : Calcule le maximum...(idem)
- MEAN : Calcule la moyenne...(idem)
- N : Calcule le nombre...(idem)
- MEDIAN : Calcule la médiane...(idem)
- STD : Calcule l'écart type...(idem)
...
Note: Plus d'une statistique descriptive peuvent être calculé à l'aide d'un seul PROC SUMMARY
David Langlois – notes STT1682
1
PROC SORT
La procédure PROC SORT sert à trier une base de donnée selon un bris de variables spécifiés.
Syntaxe :
PROC SORT DATA= BASEENTRANTE OPTIONS OUT=BASESORTANTE;
BY VAR1 VAR2...;
RUN;
Le PROC SORT ci-dessus va trier la BASEENTRANTE selon les variables VAR1 VAR... L'ordre des
variables est important, car il spécifie quel trie sera priorisé. La base résultante sera
BASESORTANTE.
Note: Si on veut trier une variable de façon décroissante, on doit spécifier DESCENDING précédent
la variable
Options utiles
- NODUPKEY: Élimine les observations "dupliqués" une foit triée
- Tout autre options appris précédement (WHERE,KEEP...) peuvent êtres appliqués à la
BASEENTRANTE/BASESORTANTE à l'aide de parenthèses.
Lire une base triée
Si on veut effectuer du traitement de donné sur une base de donnée utilisant le fait qu'elle est
triéfois une base de donnée trié, il faut spécifié à SAS que la base de donnée est en effet triée à
l'aide de la déclaration BY tel que démontré ci-dessous :
Syntaxe :
DATA BASESORTANTE;
SET BASEENTRANTE_TRIE;
BY VAR1 VAR...;
...
RUN;
Déclarations nécessitant un trie (FIRST/LAST)
- FIRST.VAR1 retourne VRAI seulement si la valeur de VAR1 est la première de son bris
- LASTVAR1 retourne VRAI seulement si la valeur de VAR1 est la première de son bris
Exemple :
DATA BASE2;
SET BASE1_TRIE;
BY POLICE RISQUE;
IF FIRST.RISQUE THEN OUTPUT;
RUN;
L'exemple ci-dessus va sortir toutes les combinaisons différentes de POLICE/RISQUE. À noter qu'on
peut obtenir le même résultat avec un PROC SUMMARY, mais de façon beaucoup plus rapide.
David Langlois – notes STT1682
2
PROC FREQ
La procédure PROC FREQ sert à sortir la distribution des valeurs d'une variable ou d'un croisement
de variable. Très utile pour bien comprendre le contenu d'une base de donnée SAS.
Syntaxe #1 (pour sortir la distribution de variables une à la fois):
PROC FREQ DATA=BASEENTRANTE;
TABLES VAR1 VAR2...;
RUN;
Syntaxe #2(pour sortir la distribution de variables croisés):
PROC FREQ DATA=BASEENTRANTE;
TABLES VAR1*VAR2...;
RUN;
PROC CONTENTS
La procédure PROC CONTENT est utilisée pour sortir le contenu de la base donnée tel que le nom
de chacune des variables, leur longueur, leur format...
Syntaxe :
PROC CONTENTS DATA=BASEENTRANTE;
RUN;
PROC RANK
La procédure PROC RANK sert à calculer le rang des valeurs d'une variable selon une division
spécifiée (quintile, quartile, percentile...).
Syntaxe :
PROC RANK DATA=BASEENTRANTE GROUPS=X OUT=BASESORTANTE;
BY VAR1 VAR2...; *Si on veut des sous=categories, necessite que le base soit trie;
VAR VAR1 VAR2...; *Variables qu on veut le rang;
RUN;
Note: L'option GROUP spécifie quelle division on veut (5,20,100 groupes...)
Exemple :
PROC RANK DATA=BASE1 GROUPS=100 OUT=BASE2;
VAR PRIME;
RUN;
L'exemple ci-dessus va calculer le percentile de chaque valeur de la variable PRIME, les résultats
seront mis dans BASE2.
David Langlois – notes STT1682
3

Documents pareils