+ All Categories
Home > Documents > cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf ·...

cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf ·...

Date post: 27-Apr-2018
Category:
Upload: phungdung
View: 217 times
Download: 3 times
Share this document with a friend
51
COURS SAS BASE 1 Christian Longhi UNIVERSITE DE NICE SOPHIA ANTIPOLIS LATAPSES – IDEFI – CNRS SAS Statistical Analysis System 1 LES TABLEAUX SAS 2 LES VARIABLES SAS 2 LES NOMS SAS 3 LES PROGRAMMES SAS 3 OPTIONS DU SYSTEME SAS 4 ETAPE DATA 5 L'INSTRUCTION INFILE 8 CARDS 8 L'INSTRUCTION INPUT 9 MODE LISTE DE INPUT 9 MODE COLONNE DE INPUT 10 MODE FORMAT DE INPUT 11 L'INSTRUCTION LABEL 13 LES DONNEES MANQUANTES 13 LES LISTES DE VARIABLES 14 INSTRUCTIONS D'ASSIGNATION 14 LES OPERATEURS 15 1 Ce cours a été réalisé avec l'aide de SAS Language Guide et SAS Procedures Guide, SAS Institute Inc., et des cours SAS-MICRO de l'INSEE et de l'IRESCO. Il ne pourrait remplacer les documents SAS.
Transcript
Page 1: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

COURS SAS BASE1 Christian Longhi UNIVERSITE DE NICE SOPHIA ANTIPOLIS LATAPSES – IDEFI – CNRS

SAS Statistical Analysis System 1

LES TABLEAUX SAS 2

LES VARIABLES SAS 2

LES NOMS SAS 3

LES PROGRAMMES SAS 3

OPTIONS DU SYSTEME SAS 4

ETAPE DATA 5

L'INSTRUCTION INFILE 8

CARDS 8

L'INSTRUCTION INPUT 9

MODE LISTE DE INPUT 9

MODE COLONNE DE INPUT 10

MODE FORMAT DE INPUT 11

L'INSTRUCTION LABEL 13

LES DONNEES MANQUANTES 13

LES LISTES DE VARIABLES 14

INSTRUCTIONS D'ASSIGNATION 14

LES OPERATEURS 15

1 Ce cours a été réalisé avec l'aide de SAS Language Guide et SAS Procedures Guide, SAS Institute Inc., et des cours SAS-MICRO de l'INSEE et de l'IRESCO. Il ne pourrait remplacer les documents SAS.

Page 2: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

LES FONCTIONS 16

L'OPTION IN = 16

L'INSTRUCTION SET 17

INSTRUCTION MERGE 18

L'INSTRUCTION IF 20

INSTRUCTIONS DELETE KEEP DROP RENAME 21

INSTRUCTIONS DE CONTROLE 22

GENERALITES SUR LES PROCEDURES 24

PROCEDURE PRINT 26

PROCEDURE DATASETS 28

PROCEDURE SORT 29

PROCEDURE MEANS 30

PROCEDURES MEANS, UNIVARIATE, SUMMARY 31

PROCEDURE FREQ 34

PROCEDURE CORR 36

PROCEDURE PLOT 38

PROCEDURE CHART 43

PROCEDURE REG 48

Page 3: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

1

Christian Longhi. Cours SAS Base. UNSA_CNRS.

SAS Statistical Analysis System Logiciel d'étude de données individuelles permettant de - MANIPULER et GERER DES FICHIERS - PROGRAMMER DES CALCULS - UTILISER UN ENSEMBLE DE PROCEDURES STATISTIQUES OU UTILITAIRES PRODUISANT DES RESULTATS (tableaux croisés, corrélations, régression,...). LE SYSTEME SAS EST CONSTITUE D'UN ENSEMBLE DE MODULES. AU CENTRE DU SYSTEME SAS, IL Y A LE MODULE SAS BASE PERMETTANT LA MANIPULATION ET LA GESTION DES DONNEES, AINSI QUE L'ECRITURE DE RAPPORTS. LE MODULE SAS BASE EST NECESSAIRE AU FONCTIONNEMENT DU SYSTEME. DIFFERENTS MODULES PEUVENT ETRE AJOUTES AU MODULE DE BASE POUR ACCEDER A D'AUTRES OUTILS ET D'AUTRES TACHES.

SAS/AF SAS/GRAPH

SAS/FSP SAS DE BASE

SAS/ETS SAS/STAT

....

SAS/FSP Acquisition et modification interactive de données SAS/STAT Procédures statistiques SAS/GRAPH Graphiques et cartographie SAS/ETS Séries temporelles ...

Page 4: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

2

Christian Longhi. Cours SAS Base. UNSA_CNRS.

LES TABLEAUX SAS

(FICHIERS SAS, SAS Data Sets) LES DONNEES DOIVENT ETRE MISES SOUS FORME DE TABLEAU SAS POUR QUE LE SYSTEME SAS PUISSE LES MANIPULER LE TABLEAU SAS EST LE COEUR DU SYSTEME SAS SAS fournit les outils pour transformer des données extérieures en TABLEAU SAS LES TABLEAUX SAS SONT TEMPORAIRES OU PERMANENTS - IL EST NECESSAIRE DE SPECIFIER UNE "LIBRARY", QUI PERMETTE A SAS D'ALLOUER DES FICHIERS, AFIN DE CREER DES TABLEAUX SAS PERMANENTS. SYNTAXE : LIBNAME libref 'Sous-répertoire'; EXEMPLE : LIBNAME B 'A:\IUP2'; DATA B.TABLEAU; Lors de l'exécution, il y aura création d'un fichier TABLEAU.SSD dans le sous-répertoire A:\IUP2. Il contient le fichier généré par l'étape DATA. - LORSQU'AUCUNE "LIBRARY" N'EST SPECIFIEE, SAS CREE LUI-MEME UNE LIBRARY "WORK" DANS LAQUELLE IL STOCKE DES FICHIERS TEMPORAIRES (DATA1, DATA2...) CORRESPONDANT A TOUTES LES ETAPES DATA QU'IL RENCONTRE.

LES VARIABLES SAS Un tableau SAS contient des variables. Chaque VARIABLE est identifiée par : - son NOM - son TYPE (CARACTERE OU NUMERIQUE) - sa LONGUEUR L'ensemble des variables décrivant une entité s'appelle une OBSERVATION. Une OBSERVATION (ensemble de valeurs concernant le même individu) correspond à une ligne du tableau SAS. Une VARIABLE (ensemble de valeurs concernant une même information) correspond à une colonne du tableau SAS.

Page 5: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

3

Christian Longhi. Cours SAS Base. UNSA_CNRS.

LES NOMS SAS C'est l'utilisateur qui donne un nom aux tableaux, aux variables,... REGLES GENERALES SUR LES NOMS SAS : 1. 1 à 8 caractères 2. Commence toujours par une lettre ou _ 3. Ne peut contenir que des lettres, des chiffres, ou le caractère _

LES PROGRAMMES SAS (JOB SAS) C'EST UNE SUITE D'INSTRUCTIONS; INSTRUCTIONS D'ETAPES DATA ET PROC, ET INSTRUCTIONS DE PROGRAMMATION. TOUTES LES INSTRUCTIONS SE TERMINENT PAR UN POINT VIRGULE LES ETAPES DATA PREPARENT LES TABLEAUX SAS LES ETAPES PROC EXPLOITENT LES TABLEAUX SAS DANS CHAQUE INSTRUCTION SAS, ON TROUVE DES INFORMATIONS SUR LA TACHE A EFFECTUER, LE NOM DU TABLEAU A CREER OU LE NOM DE LA PROCEDURE A EFFECTUER; TOUTE INSTRUCTION PEUT S'ACCOMPAGNER D'OPTIONS Entrée des données Etape DATA, instructions DATA FIC. de programmation INPUT X Y; = CARDS; COMMENT FAIRE ....... Tableau SAS Etape PROC, instructions PROC MEANS DATA=FIC; dans les procédures VAR X Y; = RUN; QUE FAIRE

Page 6: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

4

Christian Longhi. Cours SAS Base. UNSA_CNRS.

OPTIONS DU SYSTEME SAS On peut avoir la liste des options par défaut, définies à l'installation, en écrivant : PROC OPTIONS; Ces options sont modifiables à tout moment du programme (en général au début) par une instruction : OPTIONS options ; Exemple : OPTIONS LS=120 NODATE; L'effet est valable le temps de la session, à moins que n'interviennent d'autres instructions OPTIONS. OPTIONS PRINCIPALES CENTER/NOCENTER Centre les impressions des résultats des procédures DATE/NODATE Imprime la date en haut de chaque page INVALIDDATA= Par défaut . MISSING= '.' PAGESIZE= ou PS= Nombre de lignes par page, de 20 à 500 (61) LS= Taille d'une ligne d'Imprimante de 64 à 132 (132) NEWS/NONEWS Imprime message au début du listage : "Vous utilisez la version..."

Page 7: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

5

Christian Longhi. Cours SAS Base. UNSA_CNRS.

ETAPE DATA TABLEAU SAS DONNEES SUR SUPPORT EXTERNES SET INFILE MERGE CARDS UPDATE INPUT ETAPE DATA FILE PUT DATA OUTPUT TABLEAU SAS DONNEES SUR LOG SUPPORT EXTERNE DATA L'INSTRUCTION DATA...; - EST LA PREMIERE DE TOUTE ETAPE DATA - ANNONCE LA CREATION D'UN TABLEAU SAS - PERMET DE DONNER UN NOM AU(X) TABLEAU(X) SAS A CREER DANS CETTE ETAPE. SYNTAXE DATA [nom de tableau SAS] [liste d'options] [nom de tableau SAS] [liste d'options] ; Forme simplifiée : DATA; Le nom du tableau créé sera DATA1 nom attribué à chaque étape DATA2 séquentiellement. DATAn CAS PARTICULIER : DATA _NULL_; ne créé pas de tableau SAS, cas d'impression d'états ou sortie sur supports externes.

Page 8: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

6

Christian Longhi. Cours SAS Base. UNSA_CNRS.

ETAPE DATA RECHERCHE DE DONNÉES DONNÉES ÉTAPE DATA TABLEAUX EN ENTRÉE SAS FICHIER ENTRER EXTERNE ÉDITER TRANSFORMER

TRANSFERT ET RECODAGE TABLEAU ÉTAPE DATA TABLEAU SAS SAS DATA B; SET A; IF AN>1970 ; BENEF=REY-DEP;

CONCATENATION TABLEAUX ÉTAPE DATA TABLEAU SAS SAS DATA E; SET C D ;

A B

C D C

D

Page 9: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

7

Christian Longhi. Cours SAS Base. UNSA_CNRS.

FUSION (MERGE) TABLEAUX ETAPE DATA TABLEAU SAS SAS DATA MERGE F G; MISE A JOUR (UPDATE) TABLEAUX ETAPE DATA TABLEAU SAS SAS DATA M2 ; UPDATE M1 T ; BY ID ; EDITION D'ETATS TABLEAU ETAPE DATA SAS IMPRESSION Instructions PUT et FILE FICHIER EXTERNE

F G F G

M1 T M2

Page 10: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

8

Christian Longhi. Cours SAS Base. UNSA_CNRS.

L'INSTRUCTION INFILE Elle permet d'identifier à l'intérieur d'un programme SAS le fichier extérieur (les données brutes) que l'on veut transformer en tableau SAS. SYNTAXE : INFILE [Spécification du fichier] [Options]; L'instruction INFILE précède toujours INPUT. La SPECIFICATION DU FICHIER peut être - FILEREF (définit dans une instruction FILENAME) - 'NOM DE FICHIER' QUELQUES OPTIONS END = variable EOF = label FIRSTOBS = n OBS = n LRECL = longueur logique de l'enregistrement (132 par défaut) STOPOVER

CARDS EXEMPLE : DATA T; INPUT .......; Instructions de programation SAS; ........ CARDS; données ; - L'INSTRUCTION 'CARDS;' DOIT ETRE LA DERNIERE INSTRUCTION NON NULLE DE L'ETAPE DATA - UNE SEULE INSTRUCTION 'CARDS;' PAR ETAPE DATA - IL EST CONSEILLE DE TERMINER LES DONNEES PAR UNE INSTRUCTION NULLE (;).

Page 11: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

9

Christian Longhi. Cours SAS Base. UNSA_CNRS.

L'INSTRUCTION INPUT

INPUT DONNE LES CONSIGNES DE LECTURE D'UN FICHIER EXTERNE; ELLE PERMET DE DECRIRE LES VARIABLES A LIRE (NOMS, TYPES, ...). A L'EXECUTION, ELLE ENCLENCHE UN ORDRE DE LECTURE SUR LE FICHIER CONCERNE. IL EXISTE TROIS MODES INPUT . MODE LISTE . MODE COLONNE . MODE FORMAT CES TROIS MODES PEUVENT ETRE COMBINES DANS UNE MEME INSTRUCTION INPUT

MODE LISTE DE INPUT SYNTAXE INPUT nom de la 1° variable ... nom de la nième variable; LES NOMS DES VARIABLES CARACTERES SERONT TOUJOURS SUIVIS DU SYMBOLE '$' SUR LE FICHIER . LES VALEURS DES VARIABLES SERONT SEPAREES PAR AU MOINS UN ESPACE . ON NE PEUT PAS SAUTER DE VALEURS SUR LE FICHIER . SI UN ENREGISTREMENT CONTIENT MOINS DE VALEURS QUE DE NOMS DE VARIABLES CITES DANS INPUT...; SAS VA CHERCHER LES AUTRES VALEURS SUR L'ENREGISTREMENT SUIVANT (sauf si l'option MISSOVER a été présente dans l'instruction INFILE...;) . SI UNE VALEUR DOIT ETRE MANQUANTE SUR LE FICHIER ELLE SERA REPRESENTEE PAR UN POINT : '.'

Page 12: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

10

Christian Longhi. Cours SAS Base. UNSA_CNRS.

MODE COLONNE DE INPUT SYNTAXE INPUT nom de variable [$] colonne début [-colonne fin] [.décimale]; EXEMPLE : Soit le contenu d'un enregistrement du fichier à lire ANDRE.....M...12...32...141...

1 10 14 19 24 INPUT N0M $ 1-9 SEXE $ 10 AGE 14-15 POIDS 19-20 TAILLE 24-26; ou encore INPUT N0M $ 1-9 SEXE $ 10 POIDS 19-20 TAILLE 24-26 AGE 14-15 ; ou encore INPUT N0M $ 1-9 SEXE $ 10 TAILLE 24-26 .2 AGE 14-15 AD 14; . L'ORDRE DES VARIABLES EST INDIFFERENT . ON PEUT LIRE DES SOUS-ZONES DE ZONES DEJA LUES . DANS LE DERNIER EXEMPLE, LA TAILLE PRENDRA LA VALEUR 1.41 CONTRAINTE : LES VALEURS DES VARIABLES DOIVENT TOUJOURS ETRE DANS LES MEMES ZONES.

Page 13: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

11

Christian Longhi. Cours SAS Base. UNSA_CNRS.

MODE FORMAT DE INPUT SYNTAXE INPUT [pointeur] nom de variable [$] format d'entrée......; POINTEUR : SAS PERMET DE CONTROLER LA COLONNE A PARTIR DE LAQUELLE VA SE FAIRE LA LECTURE SUR L'ENREGISTREMENT EN COURS. PERMET DE POINTER SUR UNE COLONNE PRECISE FORMAT : LE FORMAT PRECISE

- LE TYPE DE VARIABLE (CARACTERE, NUMERIQUE)

- LA LONGUEUR OCCUPEE SUR LE SUPPORT

- LE TYPE DE REPRESENTATION UTILISEE * DECIMALE * ENTIER BINAIRE * HEXADECIMALE * VIRGULE FLOTTANTE * FORMAT DATE PERMET DE TOUT LIRE INSTRUCTION LIEES AU POINTEUR @n : va à la colonne n de la ligne courante +m : avance de m colonnes #1 : va à la ligne 1 de la colonne 1 @ : à la fin d'une instruction INPUT, reste sur la ligne courante pour le prochain INPUT de l'étape DATA @@ : à la fin d'une instruction INPUT, reste sur la ligne courante lorsque l'on revient au début de l'étape DATA

Page 14: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

12

Christian Longhi. Cours SAS Base. UNSA_CNRS.

EXEMPLES ANDRE M 12 32 141

1 10 14 19 24 On peut écrire l'enregistrement ainsi: INPUT NOM $8. +1 SEXE $1. @14 AGE 2. @24 TAILLE 3.2 @19 POIDS 2.; $8. - NOM : variable caractère, sur 8 colonnes à partir de la première colonne Le pointeur se positionne en 9° colonne +1 Le pointeur avance d'une position, se trouve donc en 10 $1. - SEXE : variable caractère sur une colonne Après lecture, le pointeur se trouve en 11 @14 Le pointeur se positionne en 14 2. - AGE : variable numérique sur 2 colonnes @24 Le pointeur va en colonne 24 3.2 - TAILLE : variable numérique sur 3 colonnes, avec 2 chiffres décimaux @19 Le pointeur revient en 19 2. - POIDS : variable numérique sur 2 colonnes EXEMPLES AMIENS INPUT @10 VILLE $7.; TOURS LE PUY ---------- Donnera: AMIENS TOURS LE PUY TOULOUSE INPUT VILLE $CHAR7.; TOURS LE PUY --------- Donnera: TOULOUSE TOURS LE PUY EXEMPLE @: INPUT NUMERO 1-4 TYPE 5 @; IF TYPE=1 THEN INPUT SEXE 6 AGE 10-11; IF TYPE=2 THEN INPUT CSP 7; EXEMPLE @@: Soient les données (1 15 2 20 2 15 1 40.....) DATA...; INFILE...; INPUT SEXE AGE @@; RUN;

Page 15: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

13

Christian Longhi. Cours SAS Base. UNSA_CNRS.

L'INSTRUCTION LABEL LABEL Variable = 'label' ; LE LABEL EST LIMITE A 40 CARACTERES

LES DONNEES MANQUANTES REPRESENTATION DES DONNEES MANQUANTES EN SAS DONNEES NUMERIQUES : . (point) .A,...., .Z, ._ DONNEES CARACTERES : ' ' (blancs entouré de quote) DONNEES MANQUANTES EN ENTREE Blanc si lecture en mode colonne . si lecture en mode liste Pour les données NUMERIQUES seulement: A,....,Z, _, avec l'instruction MISSING EXEMPLE : Si la question Q numérique admet dans un fichier les 4 données manquantes suivantes: R : les refus, I : les réponses invalides, S : les sans-objets, N : les non-réponses, on utilisera l'instruction MISSING R I S N ; et donc le job: DATA; MISSING R I S N; INPUT Q; CARDS; ....; On manipulera ces codes dans un programme en les faisant précéder du . : IF Q NE .R THEN DO; DONNEES MANQUANTES EN IMPRESSION DONNEES NUMERIQUES : . pour une numérique ordinaire A,...,Z pour une numérique spéciale DONNEES CARACTERES Blanc !!!!!! PROPAGATION DES DONNEES MANQUANTES

Page 16: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

14

Christian Longhi. Cours SAS Base. UNSA_CNRS.

LES LISTES DE VARIABLES

LISTE SIMPLE : on énumère les variables VAR A B C; LISTE A NOM INDICE : de la forme X1 X2 ...Xn VAR X1 - Xn; LISTE ABREGEE (Indicées ou non) VAR X -- A ; !!!!! : L'ordre est celui dans lequel les variables ont été définies, et non l'ordre alphabétique. LISTE ABREGEE DE VARIABLES NUMERIQUES VAR X _NUMERIC_ A ; LISTE ABREGEE DE VARIABLES CARACTERES VAR X _CHARACTER_ A ; LISTE GLOBALES VAR _NUMERIC_ ; VAR _CHARACTER_ ; VAR _ALL_ ;

INSTRUCTIONS D'ASSIGNATION Variables = Expression ; DATA B.FIC; X = Y + Z ; Attention aux TYPES (Numériques ou Caractères) des deux membres et à leur LONGUEUR. Si la variable de gauche existe, elle garde toujours son TYPE et sa LONGUEUR. ATTENTION A LA PROPAGATION DES DONNEES MANQUANTES : DATA SAL ; SET B.BRUT; SALT = SAL1 + SAL2 + SAL3 ; SALM = SALT / 3 ; TABLEAU B.BRUT SAL1 SAL2 SAL3 6100 6200 6200 6000 6300 . 5000 5500 5100 TABLEAU SAL SAL1 SAL2 SAL3 SALT SALM 6100 6200 6300 18600 6200 6000 6300 . . . 5000 4000 6000 15000 1500

Page 17: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

15

Christian Longhi. Cours SAS Base. UNSA_CNRS.

LES OPERATEURS

OPERATEURS ARITHMETIQUES SYMBOLE SIGNIFICATION EXEMPLES ** Exponentiation Y = X**2; * Multiplication Y = A*B; / Division Y = A / B; + Addition Y = A + B; - Soustration Y = A - B; >< Maximum Y = A >< B; <> Minimum Y = A <> B; OPERATEURS DE COMPARAISON = ou EQ Egal à NE Différent de > ou GT Supérieur à < ou LT Inférieur à >= ou GE Supérieur à ou égal à <= ou LE Inférieur à ou égal à OPERATEURS LOGIQUES AND Et OR Ou NOT Non OPERATEURS SUR VARIABLES CARACTERES || Concaténation

Page 18: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

16

Christian Longhi. Cours SAS Base. UNSA_CNRS.

LES FONCTIONS CALCULS DE STATISTIQUES EN LIGNE Variables = Nom fonction (Liste d'arguments); Variables = Nom fonction (OF Liste de variables); N Nombre d'arguments, excepté les données NMISS Nombre de données manquantes SUM Somme MEAN Moyenne MAX Maximum MIN Minimum RANGE Etendue MAX-MIN STD Ecart-type VAR Variance EXEMPLES X = SUM (2,6); Résultat: X=8; X = MEAN (2,6); X=4; X = MIN (2,6); X=2; X = RANGE (2,6); X=4; X = SUM (OF V1 - V10); !!!! SUM : somme les variables qui n'ont pas de données manquantes SUM (OF SAL1-SAL3); => SALT : 18600 12300 15000.

L'OPTION IN = ELLE CREE UNE VARIABLE AYANT LE NOM DONNE, QUI VAUT 1 SI L'OBSERVATION COURANTE EST LUE DANS LE TABLEAU CONCERNE, 0 SINON. LES VARIABLES CREEES NE SONT PAS AJOUTEES AUX TABLEAUX SAS. IN = Nom .... DATA FOUR; SET ONE (IN=IN1) TWO (IN=IN2) THREE (IN=IN3); IF X = . THEN PUT X = IN1= IN2= IN3= ;

Page 19: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

17

Christian Longhi. Cours SAS Base. UNSA_CNRS.

L'INSTRUCTION SET SET Tableau SAS en entrée [Options de Data Set] [Options de SET]; Une observation du tableau d'entrée est lue à chaque exécution de l'instruction SET. S'il y a plusieurs tableaux, on lit d'abord les observations du premier tableau avant de lire le suivant. 1. CREATION D'UN NOUVEAU TABLEAU AVEC DE NOUVELLES VARIABLES DATA AN; SET MOIS; TOTAL = SUM (OF MOIS1-MOIS12); Le tableau AN contient toutes les variables du tableau MOIS, plus la variable TOTAL. 2. CREATION D'UN SOUS-TABLEAU PAR ELIMINATION D'OBSERVATIONS DATA FIC2; SET FIC1; IF VAR = 'A'; IF ((X > 0) OR (0 <= Y <= 2000)); Dans le tableau FIC2 ne figurent que les observations du tableau FIC1 pour lesquelles les expressions logiques sont vraies. 3. CREATION D'UN SOUS-TABLEAU PAR ELIMINATION DE VARIABLES DATA FIC2; SET FIC1; DROP V1-V4; Le tableau FIC2 contient toutes les variables du tableau FIC1 excepté V1, V2, V3, V4. 4. CONCATENATION DE TABLEAUX DATA FIC3; SET FIC1 (IN=IN1) FIC2 (IN=IN2); IF IN1 THEN X=1; IF IN2 THEN X=2; LES OPTIONS DE DATA SET 1. ATTACHER UN LABEL DE 40 CARACTERES MAXIMUM : DATA FIC (LABEL = 'label'); 2. INCLURE OU EXCLURE DES VARIABLES SET FIC (KEEP = V1-V4); SET FIC (DROP = V1 V5-V7); 3. RENOMMER DES VARIABLES DATA NEW (RENAME = (XOLD=XNEW)); (la variable XNEW est créée dans le tableau NEW) SET OLD (RENAME = (X1=X1NEW)); (la variable X1 est nommée X1NEW pendant l'exécution de l'étape DATA) 4. OPTIONS SUR LES OBSERVATIONS : SET FIC (FIRSTOBS=3 OBS=10); 5. CREER DES VARIABLES INDICATRICES : SET FIC (IN = variable);

Page 20: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

18

Christian Longhi. Cours SAS Base. UNSA_CNRS.

INSTRUCTION MERGE ELLE PERMET LA FUSION DE PLUSIEURS TABLEAUX. MERGE SASdataset [(options IN=name)]; SASdataset [(options IN=name)]; data three; merge one (in=inone) two (in=intwo); run; EXEMPLE : options ls=72; title; data class; input name $ 1-25 year $ 26-34 major $ 36-50; cards; Abbott, Jennifer freshman Carter, Tom junior Theater Kirby, Elissa senior Mathematics Tucker, Rachel freshman Uhl, Roland sophomore Wacenske, Maurice junior Theater ; run; proc print data=class; title 'The Data Set CLASS'; run; data timeslot; input date date7. @10 time $ @17 room $; format date date7.; cards; 12sep88 10:00 103 12sep88 10:30 103 12sep88 11:00 207 13sep88 10:00 105 13sep88 10:30 105 15sep88 11:00 207 ; run; proc print data=timeslot; title 'Dates, Times, and Locations of Conferences'; run; data schedule; merge class timeslot; run; proc print data=schedule; title 'Merging CLASS and TIMESLOT to Assign'; title2 'Conference Times to Students'; run;

Page 21: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

19

Christian Longhi. Cours SAS Base. UNSA_CNRS.

Obs name year major 1 Abbott, Jennifer freshman 2 Carter, Tom junior Theater 3 Kirby, Elissa senior Mathematics 4 Tucker, Rachel freshman 5 Uhl, Roland sophomore 6 Wacenske, Maurice junior Theater Obs date time room 1 12SEP88 10:00 103 2 12SEP88 10:30 103 3 12SEP88 11:00 207 4 13SEP88 10:00 105 5 13SEP88 10:30 105 6 15SEP88 11:00 207 Merging CLASS and TIMESLOT to Assign 5 Conference Times to Students Obs name year major date time room 1 Abbott, Jennifer freshman 12SEP88 10:00 103 2 Carter, Tom junior Theater 12SEP88 10:30 103 3 Kirby, Elissa senior Mathematics 12SEP88 11:00 207 4 Tucker, Rachel freshman 13SEP88 10:00 105 5 Uhl, Roland sophomore 13SEP88 10:30 105 6 Wacenske, Maurice junior Theater 15SEP88 11:00 207

Page 22: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

20

Christian Longhi. Cours SAS Base. UNSA_CNRS.

L'INSTRUCTION IF

1. SELECTION D'OBSERVATIONS IF expression logique; EXEMPLE: DATA FIC2; SET FIC1; IF X = 2;

2. INSTRUCTION DE CONTROLE IF expression logique THEN instruction ; ELSE instruction;

3. S'IL Y A PLUSIEURS INSTRUCTIONS APRES THEN IF Condition THEN DO; Instruction 1; Instruction 2; ... END; EXEMPLES: - SELECTION D'OBSERVATIONS IF X NE 2 THEN DELETE - RECODAGE DE VARIABLES DATA FIC2; SET FIC1; IF (AGE<16) OR (AGE>75) THEN AGEGR=.; ELSE IF (AGE>=16) AND (AGE < 25) THEN AGEGR=1; ELSE IF (AGE>=25) AND (AGE < 50) THEN AGEGR=2; ELSE IF (AGE>=50) AND (AGE < 76) THEN AGEGR=3; Autre programme: DATA FIC2; SET FIC1; AGEGR = (AGE>15) + (AGE > 24) + (50 <= AGE <= 75); IF AGE < 16 OR AGE > 75 THEN AGEGR=. ; Tableau FIC1 Tableau FIC2 AGE AGE AGEGR 73 73 3 24 24 1 51 51 3 30 30 2 (Il existe une autre solution de recodage avec PROD FORMAT)

Page 23: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

21

Christian Longhi. Cours SAS Base. UNSA_CNRS.

INSTRUCTIONS DELETE KEEP DROP RENAME DELETE: PERMET D'ELIMINER CERTAINES OBSERVATIONS PERMET D'ARRETER LE TRAITEMENT SUR L'OBSERVATION EN VOIE DE CREATION: IL N'Y A PAS AJOUT DE L'OBSERVATION, SAS RETOURNE AU DEBUT DE L'ETAPE DATA. Exemple: on veut supprimer d'un tableau certaines valeurs négatives ou nulles. DATA FIC; ....; INPUT DEPT PROD COUT; IF PROD <=0 OR COUT <=0 THEN DELETE; PU = COUT/PROD; ........ EQUIVALENT AU FILTRE IF DROP: PERMET DE SPECIFIER LES VARIABLES A EXCLURE DANS LE TABLEAU CREE DANS L'ETAPE DATA DROP Variables; KEEP: PERMET DE SPECIFIER LES VARIABLES A CONSERVER DANS LE TABLEAU SAS CREE DANS L'ETAPE DATA KEEP Variables; ON NE PEUT PAS UTILISER A LA FOIS DROP ET KEEP DANS UNE MEME ETAPE. RENAME Ancien nom = Nouveau nom; LE NOUVEAU NOM N'EST ACTIF QUE DANS LE TABLEAU DE SORTIE; IL FAUT UTILISER LES ANCIENS NOMS DANS L'ETAPE (SINON OPTIONS DE DATA SET). QUAND IL Y A ENSEMBLE Ancien nom = Nouveau nom; LE NOUVEAU NOM N'EST ACTIF QUE DANS LE TABLEAU DE SORTIE; IL FAUT UTILISER LES ANCIENS NOMS DANS L'ETAPE (SINON OPTIONS DE DATA SET). QUAND IL Y A ENSEMBLE DROP (OU KEEP) ET RENAME, DROP (OU KEEP) EST EXECUTE EN PREMIER.

Page 24: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

22

Christian Longhi. Cours SAS Base. UNSA_CNRS.

INSTRUCTIONS DE CONTROLE INSTRUCTIONS: IF, WHERE DO, DO WHILE, DO UNTIL, DO OVER GO TO RETURN, STOP INSTRUCTION IF IF Expression logique THEN Instruction; [ELSE Instruction;] FORME GENERALE IF {expression logique} THEN DO; Suite d'instructions...; END; ELSE DO; Suite d'instructions...; END; Une expression logique est composée de variables, de constantes, sur lesquelles sont affectés des opérateurs de comparaison et pouvant être reliés par des opérateurs logiques. SAS va créer (pour lui) une variable "logique" qui prendra la valeur 1 si l'expression est vraie, 0 sinon. INSTRUCTION WHERE PERMET DE SELECTIONNER DES OBSERVATIONS. DATA FIC2; SET FIC1; WHERE X > 100; On ne conserve dans le tableau FIC2 que les observations pour lesquelles X est supérieur à 100. INSTRUCTION DO SIMPLE DO; Instructions SAS...; END; INSTRUCTION DO ITERATIVE DO I = 1 TO 10; Instructions SAS...; END; N = 0; DO WHILE (N LT 5); PUT N = ; N+1; END; N = 0;

Page 25: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

23

Christian Longhi. Cours SAS Base. UNSA_CNRS.

DO UNTIL (N >= 5); PUT N = ; N + 1; END; INSTRUCTION DO OVER DO OVER Nom d'"ARRAY"; Instructions SAS...; END; INSTRUCTION GO TO INSTRUCTION PERMETTANT DE SE BRANCHER SUR UNE AUTRE INSTRUCTION DE LA MEME ETAPE DATA. SYNTAXE: GO TO étiquette; instructions....; ...... étiquette : instruction exécutable; DO I = 1 BY 1; PUT I = ; IF I = 5 THEN GO TO FINI; END; FINI : PUT 'ON A TERMINE'; INSTRUCTION RETURN DATA FIC; ... INPUT X Y Z; IF X = 0 THEN RETURN; X = Y + Z; A = X**2; Les deux dernières instructions ne sont exécutées que si X est différent de 0. INSTRUCTION STOP DATA FIC; ... INPUT X Y Z; IF X = 0 THEN STOP; X = Y + Z; A = X**2; L'étape DATA est arrêtée dès qu'elle rencontre une observation pour laquelle X est nul.

Page 26: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

24

Christian Longhi. Cours SAS Base. UNSA_CNRS.

GENERALITES SUR LES PROCEDURES LES PROCEDURES OPERENT SUR LES TABLEAUX SAS FORME GENERALE : PROC nom de procédure options; instructions particulières; ................; RUN; - Nom de procédure: nom d'une procédure Means, Corr, Reg, Print,... - Les options de PROC et les instructions particulières dépendent de la procédure. - Eventuellement, des instructions propres à la procédure peuvent avoir leurs propres options: celles-ci sont alors placées derrière un /. Exemple: PROC REG DATA=B.FIC1 SIMPLE; MODEL Y=X1-X3 / DW R; RUN; - Certaines options de PROC et certaines instructions sont communes à la quasi-totalité des procédures. - Option: DATA = nom; => définit le nom du tableau SAS en entrée Exemple: PROC CORR DATA = B.FIC; Si l'option DATA = nom est absente, la procédure travaille par défaut sur le dernier tableau créé dans les étapes en amont

- IMPORTANT: sur les gros tableaux en entrée avec beaucoup de variables, ne conserver que quelques variables actives pour la procédure. Sélectionner ces variables au moyen de KEEP ou DROP.

Exemple: PROC CORR DATA=B.FIC (KEEP=AGE SEX QUAL SAL70-SAL90);

Page 27: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

25

Christian Longhi. Cours SAS Base. UNSA_CNRS.

FICHIER STRATIFIE : INSTRUCTION BY BY liste de variables; Exemple PROC CORR DATA = B.FIC; BY SEX QUAL; ..... La procédure CORR s'exécute pour toutes les modalités du croisement SEX QUAL SEX1 QUAL1 SEX1 QUAL2 ... SEX2 QUALn ... LE TABLEAU DOIT ETRE TRIE SUR LES VARIABLES BY (cf. PROC SORT) Si le tableau est trié par valeurs décroissantes d'une variable, faire précéder cette variable du mot-clé DESCENDING Exemple: BY DESCENDING SEX QUAL; VARIABLES ACTIVES: INSTRUCTION VAR VAR liste de variables; Exemple: PROC CORR DATA=B.FIC; VAR SAL70-SAL90; RUN; => Les corrélations seront calculées pour les variables SAL70, SAL71,....,SAL90. Si l'instruction VAR est absente, SAS prend par défaut, dans la presque totalité des procédures, toutes les variables numériques dans les autres instructions. ECRIRE LES OPTIONS ESSENTIELLES, MEME SI CE SONT DES OPTIONS PAR DEFAUT.

Page 28: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

26

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE PRINT PROC PRINT (DATA = tableau SAS) (options); TITLE 'Titre'; TITLE2 'Sous-titre'; LES TITRES ONT AU PLUS 132 CARACTERES OPTIONS : - POUR LES GROS TABLEAUX, UTILISER L'OPTION OBS = n : seules les n premières observations sont imprimées dans l'output. PROC PRINT DATA = FIC (OBS = 10); - OPTION N : si cette option est précisée, on obtient le nombre d'observations du tableau à la fin de l'impression, ou celui de chaque sous-population si on utilise l'instruction BY. INSTRUCTIONS DE PROCEDURE : VAR liste de variables; Précise les variables que l'on veut lister, et dans quel ordre. Par défaut, toutes les variables sont imprimées dans leur ordre de création. ID variables; Précise les variables qui remplaceront le numéro de l'observation à l'impression. BY liste de variable; Pour obtenir l'impression du tableau par sous-populations Les sous-populations sont séparées par une ligne, avec rappel des modalités des variables -by-. PAGEBY variables; Nom de variables précisées dans BY (ce qui implique l'instruction BY). Permet de passer endébut de page à chaque changement de modalité.

Page 29: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

27

Christian Longhi. Cours SAS Base. UNSA_CNRS.

SUM variables; Précise les variables dont on veut obtenir les sommes; elles sont différentes de celles mentionnées dans ID ou BY. SUMBY variables; Nom de variables mentionés dans BY; permet d'obtenir des totalisations par sous-populations. EXEMPLE PROC PRINT DATA = B.TAB; BY REGION; ID SECTEUR; VAR VAB90 INV90; TITLE 'IMPRESSION PAR REGION'; RUN;

Page 30: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

28

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE DATASETS Elle contient des utilitaires de gestion des membres d'une LIBRAIRIE SAS. Elle permet de : - lister, renommer, détruire des membres; - donner des informations concernant les tableaux SAS; - copier et concaténer des tableaux SAS. Une LIBRAIRIE SAS est l'ensemble des fichiers manipulés par SAS et qui sont contenus dans un même sous-répertoire. Ils sont appelés des MEMBRES. Ce peuvent être : - des tableaux SAS (extention .SSD) - des formats, dans le fichier FORMAT.SCT. PROC DATASETS LIBRARY = libref; MEMTYPE = [ALL / DATA / FORMAT ]; INSTRUCTIONS DE DATASETS 1. Pour décrire le contenu de tableaux SAS

CONTENTS DATA = _ALL_ / tableau [POSITION]; Exemple PROC DATASETS LIBRARY = B;

CONTENTS DATA = B.EAE POSITION; RUN;

2. Pour concaténer deux tableaux SAS

APPEND BASE = Tableau1 NEW = Tableau2; On ajoute à la fin du Tableau1 les observations contenues dans le Tableau2. 3. Pour renommer un membre

CHANGE ancien nom = nouveau nom; 4. Pour détruire des membres

DELETE membre;

Page 31: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

29

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE SORT OBJET: Trier les observations d'un tableau SAS selon les valeurs d'une ou plusieurs variables, ce qui permettra par exemple de: - interclasser... - traiter les données en sous-population SYNTAXE: PROC SORT options; BY liste de variables critères de tri; RUN; OPTIONS DE PROC SORT: DATA = nom du tableau à trier, par défaut le dernier tableau crée. OUT = nom de tableau trié par défaut le même nom que le tableau d'entrée. TRI PAR ORDRE DECROISSANT: faire précéder chaque variable concernée du mot clé DESCENDING. PROC SORT DATA=Tableau en entrée OUT=Tableau trié; BY (DESCENDING) Variables; EXEMPLES PROC SORT; Tri du dernier tableau créé BY NOM SEXE; Le tableau trié stocké avec le même nom PROC SORT DATA=FIC OUT = TRI; On conserve la version non triée. La version triéé s'appelle BY NOM SEXE; TRI PROC SORT OUT = TRI; Pour chaque nom apparaissent BY NOM DESCENDING SEXE; d'abord les SEXE='M', puis 'F'.

Page 32: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

30

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE MEANS Elle calcule des statistiques univariées usuelles de variables numériques. On peut stocker des résultats dans un tableau de sortie. PROC MEANS DATA = Tableau SAS Options; VAR variables; CLASS variables; BY variables; FREQ variable; WEIGHT variable; OUTPUT OUT = tableau SAS mot-clé=noms de varaibles...; RUN; QUELQUES OPTIONS - MAXDEC = n : nombre de décimales en impression

- FW = n : largeur de chaque statistique en impression (12 par défaut) - LISTE DES STATISTIQUES DISPONIBLES : N, NMISS, MEAN, STD, VAR, MIN, MAX, RANGE, SUM, USS, CSS, CV, STDERR, T, PRT, SUMWGT Si aucune statistique n'est demandée, sortent par défaut celles qui sont soulignées. INSTRUCTION BY Elle permet de sortir les statistiques demandées pour chaque modalité de la variable-by. Le tableau doit avoir été trié avant. INSTRUCTION CLASS Elle a le même rôle qu'une instruction BY. Seule change la présentation des résultats. De plus, le tableau n'a pas à être trié. INSTRUCTION FREQ Chaque observation du tableau d'entrée représente n observations, si n est la valeur de la variable-freq. INSTRUCTION WEIGHT Les moyennes et les variances sont pondérées par les valeurs de la variable de pondération. INSTRUCTION OUTPUT Les mots-clés disponibles sont : N, NMISS, MEAN, STD, VAR, MIN, MAX, RANGE, SUM, USS, CSS, CV, STDERR, T, PRT, SUMWGT On a autant d'observations dans le tableau de sortie que de groupes BY ou CLASS (une seule s'il n'y a ni BY ni CLASS).

Page 33: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

31

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURES MEANS, UNIVARIATE, SUMMARY PROC MEANS; PROC UNIVARIATE; PROC SUMMARY; BY...; BY...; BY...; FREQ..; FREQ...; CLASS...; ID...; ID...; FREQ...; WEIGHT...; WEIGHT...; VAR...; OUTPUT...; VAR...; OUTPUT...; OUTPUT...; La procédure UNIVARIATE est la plus complète, notamment en raison de : détails sur les extrèmes, quantiles P1, P5, P10, P90, P95, P99, quartiles , médiane, graphiques, tableaux de fréquence par variables... C'est aussi la plus coûteuse en temps calcul et interprétation. La procédure MEANS est moins coûteuse, et permet d'avoir, par variable active: N, NMISS, MEAN, STD, VAR, MIN, MAX, RANGE, SUM, USS, CSS, CV, STDERR, T, PRT, SUMWGT Pour avoir plus (quartiles...), utiliser UNIVARIATE. SUMMARY n'imprime rien, mais récupère à la demande dans des tableaux SAS: N, NMISS, MEAN, STD, VAR, MIN, MAX, RANGE, SUM, USS, CSS, CV, STDERR, T, PRT, SUMWGT Ces statistiques sont calculées pour toutes les modalités, simples et croisées, des variables spécifiées dans l'instruction CLASS...; LE TABLEAU D'ENTREE N'A PAS BESOIN D'ETRE TRIE SUR LES VARIABLES CLASS. POUR LES GROS FICHIERS, UTILISER DE PREFERENCE PROC SUMMARY...; CLASS...; SUIVI DE PROC PRINT; EXEMPLE: PROC SUMMARY DATA = B.REGION; CLASS REGION; VAR X Y Z; OUTPUT OUT=OUT MEAN= MR STD= SR; RUN; PROC PRINT; RUN;

Page 34: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

32

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE UNIVARIATE EXEMPLES PROGRAM OPTIONS LS=75 NODATE; DATA STATEPOP; INPUT STATE $ POP @@; LABEL POP ='1970 CENSUS POPULATION IN MILLIONS'; CARDS; ALA 3.44 ALASKA 0.30 ARIZ 1.77 ARK 1.92 CALIF 19.95 COLO 2.21 CONN 3.03 EL 0.55 FLA 6.79 GA 4.59 HAW 0.77 IDAHO 0.71 ILL 11.01 IND 5.19 IOWA 2.83 KAN 2.25 KY 3.22 LA 3.64 ME 0.99 MD 3.92 MASS 5.69 MICH 8.88 MINN 3.81 MISS 2.22 MO 4.68 MONT 0.69 NEB 1.48 NEV 0.49 NH 0.74 NJ 7.17 NM 1.02 NY 18.24 NC 5.08 ND 0.62 OHIO 10.65 OKLA 2.56 ORE 2.09 PA 11.79 RI 0.95 SC 2.59 SD 0.67 TENN 3.92 TEXAS 11.2 UTAH 1.06 VT 0.44 A 4.65 WASH 3.41 W.VA 1.74 WIS 4.42 WYO 0.33 PROC UNIVARIATE FREQ PLOT NORMAL; VAR POP; ID STATE; OUTPUT UNIVARIATE PROCEDURE Variable=POP 1970 CENSUS POPULATION IN MILLIONS Moments N 50 Sum Wgts 50 Mean 4.0472 Sum 202.36 Std Dev 4.329319 Variance 18.743 Skewness 2.055218 Kurtosis 4.545617 USS 1737.398 CSS 918.407 CV 106.9707 Std Mean 0.612258 T:Mean=0 6.610284 Prob>|T| 0.0001 Sgn Rank 637.5 Prob>|S| 0.0001 Num ^= 0 50 W:Normal 0.763119 Prob<W 0.0001 UNIVARIATE PROCEDURE Quantiles(Def=5) 100% Max 19.95 99% 19.95 75% Q3 4.68 95% 11.79 50% Med 2.71 90% 10.83 25% Q1 0.99 10% 0.585 0% Min 0.3 5% 0.44 1% 0.3 Range 19.65 Q3-Q1 3.69 Mode 3.92

Page 35: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

33

Christian Longhi. Cours SAS Base. UNSA_CNRS.

Extremes Lowest ID Highest ID 0.3(ALASKA ) 11.01(ILL ) 0.33(WYO ) 1.2(TEXAS ) 0.44(VT ) 11.79(PA ) 0.49(NEV ) 18.24(NY ) 0.55(DEL ) 19.95(CALIF ) Stem Leaf # Boxplot 2 0 1 * 1 8 1 * 1 1112 4 0 0 555556779 9 +-----+ 0 00001111111111112222222333333344444 35 *--+--* ----+----+----+----+----+----+----+ Multiply Stem.Leaf by 10**+1 Normal Probability Plot 22.5+ | * * 12.5+ **+**+++++++++ | ++++*****++ 2.5+ * * ** ********************* +----+----+----+----+----+----+----+----+----+----+ -2 -1 0 +1 +2

Page 36: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

34

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE FREQ ELLE PERMET DE PRODUIRE DES TABLEAUX DE FREQUENCE A UNE OU PLUSIEURS DIMENSIONS (POUR LES VARIABLES NUMERIQUES, ON AURA INTERET A UTILISER L'INSTRUCTION FORMAT POUR AVOIR UNE TABLE LISIBLE). PROC FREQ Options; TABLES Demandes/Options; WEIGHT Variable; FORMAT Variables et Formats; BY Variables ; TITLE 'Titre'; WHERE Condition Logique; OPTIONS DE PROC FREQ

- DATA = Nom du tableau en entrée. - ORDER = Précise l'ordre dans lequel apparaissent les niveaux d'une variable. ORDER = FREQ : dans l'ordre décroissant des fréquences ORDER = DATA : dans l'ordre où elles apparaissent pour la première fois dans les données ORDER = INTERNAL : dans l'ordre croissant de leur représentation interne (par défaut) ORDER = FORMATTED : dans l'ordre croissant de leur format externe INSTRUCTION TABLES Tables à une dimension : PROC FREQ; TABLES AGE QUAL STAT; Tables à plusieurs dimensions : PROC FREQ; TABLES A*B; TABLES A*B*C; L'écriture peut être simplifiée; A*(B C) est équivalent à A*B A*C; (A B)*(C D) est équivalent à A*C A*D B*C B*D ...

Page 37: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

35

Christian Longhi. Cours SAS Base. UNSA_CNRS.

Options de l'instruction TABLES MISSING : pour inclure les valeurs manquantes dans les calculs OUT = nom de tableau : pour stocker les résultats dans un tableau SAS NOROW, NOCOL, NOPERCENT..... : pour supprimer les sorties standards CHISQ, EXPECTED, DEVIATION,... : pour des calculs associés au CHI2 INSTRUCTION WEIGHT Elle permet d'obtenir des tris à plats ou croisés avec une variable de pondération; soit un tableau avec les variables SEX, QUAL, HRSTRAV : PROC FREQ; TABLES SEX*QUAL; WEIGHT HRSTRAV; donne le tableau croisant SEX et QUAL selon le nombre d'heures de travail. INSTRUCTION FORMAT PROC FREQ groupe les variables selon leurs valeurs formatées. Par exemple, si X a les valeurs 1.3, 1.7 et 2.0, chacune de ces valeurs constitue une modalité. Préciser FORMAT X 1.; engendrera seulement deux modilités : 1 et 2.

Page 38: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

36

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE CORR

The CORR procedure is a statistical procedure for numeric random variables that computes Pearson correlation coefficients, three nonparametric measures of association, and the probabilities associated with these statistics. The correlation statistics include

• Pearson product-moment and weighted product-moment correlation • Spearman rank-order correlation • Kendall's tau-b • Hoeffding's measure of dependence, D • Pearson, Spearman, and Kendall partial correlation.

The default correlation analysis includes descriptive statistics, Pearson correlation statistics, and probabilities for each analysis variable. You can save the correlation statistics in a SAS data set for use with other statistical and reporting procedures. Syntax.

PROC CORR <option(s)>;

BY <DESCENDING> variable-1<...<DESCENDING> variable-n> <NOTSORTED>;

FREQ frequency-variable;

PARTIAL variable(s);

VAR variable(s);

WEIGHT weight-variable;

WITH variable(s);

To do this Use this statement

Produce separate correlation analyses for each BY group BY

Identify a variable whose values represent the frequency of each observation FREQ

Identify controlling variables to compute Pearson, Spearman, or Kendall partial correlation coefficients

PARTIAL

Identify variables to correlate and their order in the correlation matrix VAR

Identify a variable whose values weight each observation to compute Pearson weight product-moment correlation

WEIGHT

Compute correlations for specific combinations of variables WITH

Page 39: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

37

Christian Longhi. Cours SAS Base. UNSA_CNRS.

The following program produces the simplest form of PROC CORR output. Pearson correlation statistics are computed for all numeric variables from a study investigating the effect of exercise on physical fitness. options pagesize=60; proc corr data=fitness; run; Simple Correlation Analysis for a Fitness Study Using PROC CORR The SAS System 1 The CORR Procedure 4 Variables: Age Weight Runtime Oxygen Simple Statistics Variable N Mean Std Dev Sum Minimum Maximum Age 30 47.56667 5.26330 1427 38.00000 57.00000 Weight 30 77.70500 8.34152 2331 59.08000 91.63000 Runtime 29 10.61448 1.41655 307.82000 8.17000 14.03000 Oxygen 29 47.06445 5.32129 1365 37.38800 60.05500 Pearson Correlation Coefficients Prob > |r| under H0: Rho=0 Number of Observations Age Weight Runtime Oxygen Age 1.00000 -0.21777 0.19528 -0.32899 0.2477 0.3100 0.0814 30 30 29 29 Weight -0.21777 1.00000 0.15155 -0.19900 0.2477 0.4326 0.3007 30 30 29 29 Runtime 0.19528 0.15155 1.00000 -0.78346 0.3100 0.4326 <.0001 29 29 29 28 Oxygen -0.32899 -0.19900 -0.78346 1.00000 0.0814 0.3007 <.0001 29 29 28 29

Page 40: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

38

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE PLOT ELLE DONNE DES GRAPHIQUES : Y FONCTION DE X, Y FONCTION DE X ET Z. Les coordonnées de chaque point correspondent aux valeurs des variables pour chaque observation; on peut identifier (avec des limites), les points figurant sur les graphiques. PROC PLOT DATA = Tableau SAS Options; PLOT demande / options; BY variables; RUN; QUELQUES OPTIONS DE LA PROCEDURE - DATA= nom du tableau de données. - UNIFORM : pour conserver une échelle identique si on utilise un BY, les graphiques par strates sont donc directement comparables. - NOLEGEND : pour supprimer la légende en tête de graphique - VPERCENT = Valeur - HPERCENT = Valeur : pour éditer plusieurs graphiques par page L'INSTRUCTION PLOT

- Un graphique se demande par

variable verticale * variable horizontale Exemple: PLOT Y*X; : Y définit l'axe vertical et X l'axe horizontal

Page 41: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

39

Christian Longhi. Cours SAS Base. UNSA_CNRS.

- Plusieurs graphiques peuvent être demandés dans le même instruction PLOT

Exemple: PLOT Y*X Y*Z S*T; Il y aura un graphique par page, sauf option particulière (OVERLAY). L'écriture peut être simplifiée: (X Y) * (A B) équivaut à Y*A Y*B X*A X*B Par défaut, un point isolé est représenté par un A, deux points superposés par un B.... On peut imposer un autre caractère par : var1 * var2 = 'caractère'. Les points sont représentés par le caractère donné: X*Y='*' ou X*Y='1'

- On peut également utiliser une variable pour identifier les points: var1 * var2 = variable -

X*Y=REGION, X*Y=Z; les points sont représentés par le premier caractère de la variable de droite. OPTIONS DE L'INSTRUCITON PLOT - OVERLAY : Les graphiques de l'instruction sont superposés PLOT X*Y A*B/OVERLAY; - VAXIS = liste de valeurs: Contrôle l'impression de l'échelle PLOT Y*X='*'/ VAXIS=0 TO 20 BY 2; PLOT Y*X='*'/ VAXIS= 10 20 30 40; On peut ainsi faire un échelle logarithmique.

- HAXIS = liste de valeurs -

- CONTOUR = n : Permet de faire des graphiques avec n niveaux d'intensité. PLOT A*B = X / CONTOUR =n; A sera en ordonnée B en abscisse X est une variable numérique que SAS découpe en n tranches. Selon la tranche de X pour un couple de valeurs (A,B), le point sera imprimé de façon plus ou moins sombre. C'est une façon de faire des graphiques en trois dimensions. - .....

Page 42: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

40

Christian Longhi. Cours SAS Base. UNSA_CNRS.

EXEMPLES DATA GENERATE; DO X=1 TO 10 BY .5; Y=SIN(X) + SIN(2*X)/(X+1); Z=CEIL(UNIFORM(13131)*3); A=2*MOD(X,Y); B=3*(1-MOD(Y,X)); OUTPUT; END; PROC PLOT HPERCENT=50 VPERCENT=33; PLOT Y * X; PLOT Y * X / HAXIS = 0 TO 12 BY 2; PLOT Y * X = '+' / HAXIS = 0 TO 12 BY 2; PLOT Y * X = Z / HAXIS = 0 TO 12 BY 2 BOX; PLOT Y * X = Z / HAXIS = 0 TO 12 BY 2 HREF = 4 8; PLOT Y * X = Z A * B / OVERLAY; RUN; Plot of Y*X. Legend: A = 1 obs, B = 2 obs, etc. Plot of Y*X. Legend: A = 1 obs, B = 2 obs, etc. Y | Y | 2 + 2 + | | | A | A 1 + A A A 1 + A A A | A A A | A A A | A A A | A A A 0 + A A 0 + A A | A A A | A A A | A | A -1 + A A A -1 + A A A ---+---------+---------+---------+---------+-- ---+-------+-------+-------+-------+-------+-------+-- 0.0 2.5 5.0 7.5 10.0 0 2 4 6 8 10 12 X X Plot of Y*X. Symbol used is '+'. Plot of Y*X. Symbol is value of Z. Y | Y ---+-------+-------+-------+-------+-------+-------+--- 2 + 2 + + | | | | + | 3 | 1 + + + + 1 + 1 1 3 + | + + + | 1 3 2 | | + + + | 1 3 2 | 0 + + + 0 + 2 2 + | + + + | 2 2 3 | | + | 3 | -1 + + + + -1 + 2 3 1 + ---+-------+-------+-------+-------+-------+-------+-- ---+-------+-------+-------+-------+-------+-------+--- 0 2 4 6 8 10 12 0 2 4 6 8 10 12 X X Plot of Y*X. Symbol is value of Z. Plot of Y*X. Symbol is value of Z. Plot of A*B. Legend: A = 1 obs, B = 2 obs, etc. Y | | | Y 2 + | | 2 + A | | | | A A A | 3 | | | 3 1 + 1 | 1 3 1 + A 1 1 3 | 1 | 3 | 2 | AA 1A A A A 3 2 | 1 | 3 | 2 | A B 1 A 3 2 0 + 2 | | 2 0 + A A2AA 2 | 2 | 2 | 3 | 2 2 3 | 3 | | 3 -1 + | 2 3 1 | -1 + 2 3 1 ---+-------+-------+-------+-------+-------+-------+-- ---+-------+-------+-------+-------+-------+-------+-- 0 2 4 6 8 10 12 -2 0 2 4 6 8 10 X X

Page 43: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

41

Christian Longhi. Cours SAS Base. UNSA_CNRS.

DATA HTWT; INPUT HEIGHT WEIGHT @@; CARDS; 69.0 112.5 56.5 84.0 65.3 98.0 62.8 102.5 63.5 102.5 57.3 83.0 59.8 84.5 62.5 112.5 62.5 84.0 59.0 99.5 51.3 50.5 64.3 90.0 56.3 77.0 66.5 112.0 72.0 150.0 64.8 128.0 67.0 133.0 57.5 85.0 66.5 112.0 ; PROC REG; MODEL HEIGHT=WEIGHT; OUTPUT OUT=BOTH P=PREDHT; RUN; PROC PLOT DATA=BOTH; PLOT HEIGHT*WEIGHT PREDHT*WEIGHT='*' / OVERLAY; TITLE 'PREDICTED VS. ACTUAL'; RUN; Model: MODEL1 Dependent Variable: HEIGHT Analysis of Variance Sum of Mean Source DF Squares Square F Value Prob>F Model 1 364.57626 364.57626 57.076 0.0001 Error 17 108.58795 6.38753 C Total 18 473.16421 Root MSE 2.52736 R-square 0.7705 Dep Mean 62.33684 Adj R-sq 0.7570 C.V. 4.05435 Parameter Estimates Parameter Standard T for H0: Variable DF Estimate Error Parameter=0 Prob > |T| INTERCEP 1 42.570142 2.67988870 15.885 0.0001 WEIGHT 1 0.197615 0.02615725 7.555 0.0001 PREDICTED VS. ACTUAL HEIGHT | Plot of HEIGHT*WEIGHT. Legend: A = 1 obs, B = 2 obs, etc. | Plot of PREDHT*WEIGHT. Symbol used is '*'. 72.5 + | A | | | 70.0 + | | A * | | * 67.5 + | A | B | | A 65.0 + * A | A * | | A | A 62.5 + A A | ** | | | * 60.0 + A | ** | ** A | | * 57.5 + A A | | A A | -+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+- 50 60 70 80 90 100 110 120 130 140 150 WEIGHT NOTE: 6 obs hidden.

Page 44: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

42

Christian Longhi. Cours SAS Base. UNSA_CNRS.

DATA CONTOURS; FORMAT Z 5.1; DO X=0 TO 400 BY 5; DO Y=0 TO 350 BY 10; Z=46.2+.09*X-.0005*X**2+.1*Y-.0005*Y**2+.0004*X*Y; OUTPUT; END; END; PROC PLOT; PLOT Y*X=Z / CONTOUR=10; TITLE 'CONTOUR PLOT OF X VS. Y'; TITLE2 'CONTOURS ARE Z'; RUN; TITLE; CONTOUR PLOT OF X VS. Y CONTOURS ARE Z Contour plot of Y*X. Y | | 350 + ======++++++OOOOOOOOXXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXOOOOOOOO 340 + ====++++++OOOOOOOXXXXXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXOOOOOOO 330 + =++++++OOOOOOOXXXXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXOOOOO 320 + +++++OOOOOOOXXXXXXXXWWWWWWWWWWWWWW********************WWWWWWWWWWWWWWXXXXXXXXXOOOO 310 + +++OOOOOOXXXXXXXXWWWWWWWWWWWW*****************************WWWWWWWWWWWXXXXXXXXOOOO 300 + +OOOOOOXXXXXXXXWWWWWWWWWW***********************************WWWWWWWWWWXXXXXXXXOOO 290 + OOOOOXXXXXXXWWWWWWWWWW****************************************WWWWWWWWWXXXXXXXOOO 280 + OOOXXXXXXXWWWWWWWWW********************####********************WWWWWWWWWXXXXXXXOO 270 + OXXXXXXXWWWWWWWWW**************##################***************WWWWWWWWXXXXXXXOO 260 + XXXXXXWWWWWWWW*************#########################************WWWWWWWWXXXXXXXOO 250 + XXXXWWWWWWWW************#############################************WWWWWWWWXXXXXXOO 240 + XXXWWWWWWW***********#################################***********WWWWWWWWXXXXXXOO 230 + XWWWWWWWW**********####################################**********WWWWWWWXXXXXXXOO 220 + WWWWWWW**********######################################**********WWWWWWWXXXXXXOOO 210 + WWWWWW*********########################################**********WWWWWWWXXXXXXOOO 200 + WWWWW*********#########################################*********WWWWWWWXXXXXXOOOO 190 + WWW**********##########################################*********WWWWWWWXXXXXXOOOO 180 + WW*********###########################################*********WWWWWWWXXXXXXOOOOO 170 + W*********############################################*********WWWWWWWXXXXXXOOOOO 160 + W*********###########################################*********WWWWWWWXXXXXXOOOOO+ 150 + *********###########################################*********WWWWWWWXXXXXXOOOOO++ 140 + ********###########################################*********WWWWWWWXXXXXXOOOOO+++ 130 + ********##########################################*********WWWWWWWXXXXXXOOOOO++++ 120 + ********########################################**********WWWWWWWXXXXXXOOOOO+++++ 110 + ********#######################################**********WWWWWWWXXXXXXOOOOO+++++= 100 + ********#####################################**********WWWWWWWXXXXXXOOOOOO+++++== 90 + ********###################################**********WWWWWWWWXXXXXXOOOOO+++++==== 80 + *********################################***********WWWWWWWXXXXXXXOOOOO+++++====- 70 + **********############################************WWWWWWWWXXXXXXOOOOOO+++++====-- 60 + ************######################**************WWWWWWWWXXXXXXXOOOOO+++++=====--- 50 + ***************###############***************WWWWWWWWWXXXXXXXOOOOOO+++++====----' 40 + W******************************************WWWWWWWWWXXXXXXXOOOOOO+++++=====----'' 30 + WW**************************************WWWWWWWWWWXXXXXXXOOOOOO+++++=====----'''' 20 + WWWW********************************WWWWWWWWWWWXXXXXXXXOOOOOO++++++====-----''''. 10 + WWWWWW**************************WWWWWWWWWWWWWXXXXXXXXOOOOOO++++++=====----''''... 0 + WWWWWWWWWW*****************WWWWWWWWWWWWWWWXXXXXXXXOOOOOOO++++++=====----'''''.... | ---+---------+---------+---------+---------+---------+---------+---------+---------+-- 0 50 100 150 200 250 300 350 400 X Symbol Z Symbol Z Symbol Z Symbol Z Symbol Z ..... 2.2 - 8.1 ----- 14.0 - 19.9 +++++ 25.8 - 31.7 XXXXX 37.6 - 43.5 ***** 49.4 - 55.4 ''''' 8.1 - 14.0 ===== 19.9 - 25.8 OOOOO 31.7 - 37.6 WWWWW 43.5 - 49.4 ##### 55.4 - 61.3

Page 45: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

43

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE CHART OUTIL DE STATISTIQUE DESCRIPTIVE PERMETTANT DE VISUALISER LES VARIABLES ETUDIEES PAR DES GRAPHIQUES: HISTOGRAMMES A BARRES VERTICALE (VBAR), HORIZONTALES (HBAR), GRAPHIQUES CIRCULAIRES, EN CAMEMBERT (PIE), EN ETOILE (STAR), EN BLOCS (BLOCK). PROC CHART DATA = nom; BY variables de stratification; FORMAT variable format variable format...; HBAR variables / options; VBAR variables / options; PIE variables / options; STAR variables / options; BLOCK variables / options; DATA = nom peut être omis s'il s'agit du dernier tableau créé. HBAR, ..., BLOCK commandent les graphiques et peuvent être emplyés en nombre quelconque. FORMAT précise les formats à utiliser dans les impressions; ce sont des formats SAS ou bien des formats créés par une PROC FORMAT. On peut indiquer plusieurs variables pour HBAR, ..., BLOCK. Pour chacune des variables ainsi mentionnées, SAS établit le nombre de tranches, branches, ou blocs à construire. Il y en a autant que de modalités, et pour les variables numériques, SAS opère un découpage en tranches. Cependant, les options permettent d'en contrôler le nombre, le champ, la dimension. BY permet d'obtenir des analyses séparées par groupes d'observations des variables BY. OPTIONS COMMUNES AUX INSTRUCTIONS HBAR, VBAR, PIE, STAR, BLOCK MISSING : Les données manquantes entrent dans l'histogramme, sinon elles sont ignorées. DISCRETE : Précise que la variable numérique indiquée est discrète, et que chaque valeur est une modalité, sinon SAS découpe en tranches.

Page 46: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

44

Christian Longhi. Cours SAS Base. UNSA_CNRS.

FREQ = variable : Nomme une variable dans le tableau permettant de pondérer les observations. SUMVAR = variable :Précise une variable du tableau d'entrée dont on veut le résumé numérique, qui servira à déterminer la taille des barres, blocs, tranches... Le type de résumé est précisé par l'option TYPE. Exemple: VBAR DEPT/SUMVAR=SALAIRE; On a une barre par département, la hauteur de chaque barre est fonction du total des salaires par département; s'il n'y avait pas eu SUMVAR= , la taille de la barre serait fonction de la fréquence dans le tableau de la modalité de DEPT associéée. TYPE = : Permet de spécifier ce que les unités d'histogramme représentent. TYPE = FREQ : Fréquence d'une modalité, valeur ou intervalle; valeur par défaut. TYPE = CFREQ : Fréquence cumulée TYPE = PERCENT ou PCT : Pourcentage TYPE = CPERCENT ou CPCT : Pourcentage cumulé TYPE = SUM : Somme de la variable précisée dans SUMVAR; type par défaut de SUMVAR TYPE = MEAN : Moyenne de la variable précisée dans SUMVAR MIDPOINTS = Liste de valeurs : chaque barre ou tranche représente une "plage" dont le milieu est précisé dans MIDPOINTS; on peut ainsi imposer un découpage à SAS, se programmer en échelle logarithmique.... Exemples: VBAR X / MIDPOINTS = 10 20 30 40 ; VBAR X / MIDPOINTS = 10 TO 100 BY 5; VBAR X / MIDPOINTS = 'JAN' 'FEV' 'MAR' ; AXIS = max AXIS = min max : Spécifie les valeurs minimum et maximum à prendre en compte dans la construction des barres de type FREQ, CFREQ,.... Important si des valeurs sont négatives, la valeur minimum par défaut est 0. Exemple : STAR A / SUMVAR = X AXIS = 100 200;

- LEVELS = n : Pour les variables numériques, impose le nombre de tranches à effectuer, c'est à dire le nombre de barres, blocs...

- OPTIONS PARTICULIERES A INSTRUCTIONS HBAR, VBAR, BLOCK - GROUP = variable : Produit dansle graphique des histogrammes pour chaque modalité de la variable GROUP, y compris pour les valeurs manquantes. - SUBGROUP = variable : La contribution de chaque modalité de la variable SUBGROUP est représentée dans les barres ou blocs d'histogrammes.

Page 47: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

45

Christian Longhi. Cours SAS Base. UNSA_CNRS.

EXEMPLES N.B. Les étapes DATA ne sont pas explicitées. Variables: city, revenue, dept, data, week.... proc chart; vbar dept / subgroup=city sumvar=revenue discrete; run; proc chart; hbar dept / subgroup=city sumvar=revenue discrete; run; proc chart; hbar dept / group=city sumvar=revenue discrete; run; proc chart; block dept / group=city sumvar=revenue discrete; run; proc chart; pie city / sumvar=revenue discrete; run; proc chart; pie city / type=mean sumvar=revenue discrete; run; vbar dept / subgroup=city sumvar=revenue discrete; (vertical bar chart of revenue sums by dept and city) January 1987 Revenue Report SUM OF REVENUE BY DEPT REVENUE SUM | | RRRRR $70,000 + RRRRR RRRRR | RRRRR RRRRR RRRRR | RRRRR RRRRR RRRRR | RRRRR RRRRR RRRRR | RRRRR RRRRR RRRRR $60,000 + RRRRR RRRRR RRRRR | RRRRR RRRRR RRRRR | RRRRR RRRRR RRRRR | RRRRR RRRRR RRRRR | NNNNN RRRRR RRRRR $50,000 + NNNNN NNNNN RRRRR | NNNNN NNNNN NNNNN | NNNNN NNNNN NNNNN | NNNNN NNNNN NNNNN | NNNNN NNNNN NNNNN $40,000 + NNNNN NNNNN NNNNN | NNNNN NNNNN NNNNN | NNNNN NNNNN NNNNN | NNNNN NNNNN NNNNN | LLLLL LLLLL NNNNN $30,000 + LLLLL LLLLL NNNNN | LLLLL LLLLL LLLLL | LLLLL LLLLL LLLLL | LLLLL LLLLL LLLLL | LLLLL LLLLL LLLLL $20,000 + LLLLL LLLLL LLLLL | LLLLL LLLLL LLLLL | LLLLL CCCCC LLLLL | CCCCC CCCCC LLLLL | CCCCC CCCCC CCCCC $10,000 + CCCCC CCCCC CCCCC | CCCCC CCCCC CCCCC | CCCCC CCCCC CCCCC | CCCCC CCCCC CCCCC | CCCCC CCCCC CCCCC -------------------------------------------- 100 115 314 DEPT SYMBOL CITY SYMBOL CITY C Chicago, IL L Los Angeles, CA N New York, NY R Raleigh, NC

Page 48: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

46

Christian Longhi. Cours SAS Base. UNSA_CNRS.

vbar dept / subgroup=city sumvar=revenue discrete; (vertical bar chart of revenue sums by dept and city) January 1987 Revenue Report SUM OF REVENUE BY DEPT DEPT REVENUE FREQ SUM | 100 |CCCCCCCLLLLLLLLLNNNNNNNNNNRRRRRRRRRR 88 $73,970 | 115 |CCCCCCCCLLLLLLLLNNNNNNNNNRRRRRRRRRR 88 $69,990 | 314 |CCCCCCLLLLLLLLNNNNNNNNNNRRRRRRRRRR 88 $69,177 ----------+---------+---------+------- $20,000 $40,000 $60,000 REVENUE SUM SYMBOL CITY SYMBOL CITY C Chicago, IL L Los Angeles, CA N New York, NY R Raleigh, NC hbar dept / group=city sumvar=revenue discrete; (horizontal bar chart of revenue sums by dept and city) January 1987 Revenue Report SUM OF REVENUE BY DEPT GROUPED BY CITY CITY DEPT REVENUE FREQ SUM | Chicago, IL 100 |******************* 22 $14,318 115 |********************* 22 $15,900 314 |***************** 22 $12,491 | Los Angeles, CA 100 |************************ 22 $18,332 115 |********************* 22 $16,111 314 |********************* 22 $16,080 | New York, NY 100 |*************************** 22 $20,445 115 |*********************** 22 $17,589 314 |*************************** 22 $20,510 | Raleigh, NC 100 |**************************** 22 $20,875 115 |*************************** 22 $20,389 314 |*************************** 22 $20,095 | ------------+-----------+---- $9,000 $18,000 REVENUE SUM block dept / group=city sumvar=revenue discrete; (block chart of revenue sums by dept and city) January 1987 Revenue Report SUM OF REVENUE BY DEPT GROUPED BY CITY ___ ___ ___ /_ /| /_ /| /_ /| |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | |**| | ___ -|**| |--------|**| |---___ -|**| |------- /_ /| |**| | / |**| | /_ /| |**| | / |**| | |**| | ___ |**| | |**| | |**| | / Raleigh, NC |**| | |**| | /_ /| |**| | |**| | |**| | / |**| | |**|/ |**| | |**|/ |**| | |**|/ / |**| | |**| | |**| | / |**| |$20,875 |**| |$20,389 |**| |$20,095 / /|**| |-------/|**| |-------/|**| |-------/ ___ |**| | / |**| | / |**| | / /_ /| |**| | ___ |**| | ___ |**| | / New York, NY |**| | |**| | /_ /| |**| | /_ /| |**| | / |**| | |**|/ |**| | |**|/ |**| | |**|/ / |**| | |**| | |**| | / |**| |$20,445 |**| |$17,589 |**| |$20,510 / /|**| |-------/|**| |-------/|**| |-------/ / |**| | / |**| | / |**| | / / |**| | ___ |**| | / |**| | / Los Angeles, CA ___ |**| | /_ /| |**| | / |**| | / /_ /| |**|/ |**| | |**|/ ___ |**|/ / |**| | |**| | /_ /| / |**| |$18,332 |**| |$16,111 |**| |$16,080 / CITY /|**| |-------/|**| |-------/|**| |-------/ / |**| | / |**| | / |**| | / / |**| | / |**| | / |**| | / Chicago, IL / |**| | / |**| | / |**| | / / |**|/ / |**|/ / |**|/ / / / / / / $14,318 / $15,900 / $12,491 / /-------------/-------------/-------------/ 100 115 314 DEPT

Page 49: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

47

Christian Longhi. Cours SAS Base. UNSA_CNRS.

pie city / sumvar=revenue discrete; (pie chart of revenue sums by city) January 1987 Revenue Report SUM OF REVENUE BY CITY Los Angeles, CA *********** **** **** *** .. *** ** . ** ** . ** Chicago, IL * $50,524 . * ** 23.70% . ** * . $42,710 * * . . . 20.04% * ** . .. . ** * .. . . * * . . * * + . . .. . .. . .. * * * * . * ** $58,544 . ** * 27.47% . * * . $61,359 * New York, NY ** . 28.79% ** * . * ** . ** ** . ** *** . *** Raleigh, NC **** . **** *********** pie city / type=mean sumvar=revenue discrete; (pie chart of mean revenue per day by city) January 1987 Revenue Report MEAN OF REVENUE BY CITY Los Angeles, CA *********** **** **** *** .. *** ** . ** ** . ** Chicago, IL * $766 . * ** 23.70% . ** * . $647 * * . . . 20.04% * ** . .. . ** * .. . . * * . . * * + . . .. . .. . .. * * * * . * ** $887 . ** * 27.47% . * * . $930 * New York, NY ** . 28.79% ** * . * ** . ** ** . ** *** . *** Raleigh, NC **** . **** ***********

Page 50: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

48

Christian Longhi. Cours SAS Base. UNSA_CNRS.

PROCEDURE REG (Introduction)

La procédure REG exécute des régressions simples ou multiples. Elle donne différentes informations concernant les résultats: précision des estimateurs, colinéarités, analyse des résidus, tests... On récupère, sur demande, diverses statistiques sous forme de tableaux SAS : matrice de produits croisés, coefficients estimés, matrice de covariance des coefficients, valeurs ajustées, résidus, limites de confiance des valeurs ajustées... On ne donnera ici que quelques unes des options parmi les nombreuses disponibles. PROC REG Options; MODEL var. dépendantes=var. indépendantes/options; VAR variables; OUTPUT OUT = nom tableau résultats ; RESTRICT équation,...; TEST équation,...; MTEST équation,...; ID variable ; WEIGHT variable ; FREQ variable ; BY variables ; PLOT y-variable*x-variable='symbol'/options; OPTIONS DE PROC REG DATA = nom : nom du tableau d'entrée. SIMPLE : Imprime des statistiques descriptives simples pour les variables utilisées dans la procédure. ALL : Imprime des statistiques diverses concernant ces variables; équivaut à spécifier ALL pour chaque MODEL. .... On peut utiliser plusieurs instructions MODEL pour estimer plusieurs modèles. RESTRICT, TEST, ou MTEST opèrent sur le MODEL qui les précède; WEIGHT, FREQ, et ID sont valables pour toute la procédure. OPTIONS DE L'INSTRUCTION MODEL P : Imprime la première variable ID, les yi, yi et ûi=yi-yi CLM : Limites de confiance à 95 % de E(yi) CLI : Limites de confiance à 95 % pour yi R : Analyse des résidus

Page 51: cours Sas Base - Hp.gredeg.cnrs.frhp.gredeg.cnrs.fr/Christian_Longhi/enseignements/SASBase.pdf · l'instruction label 13 les donnees manquantes 13 les listes de variables 14 instructions

49

Christian Longhi. Cours SAS Base. UNSA_CNRS.

INSTRUCTIONS WEIGHT ET FREQ WEIGHT : Désigne une variable pondérant les observations FREQ : Désigne une variable dont la partie entière (positive) indique le nombre de fois où l'observation doit être prise en compte dans les calculs. INSTRUCTION ID Spécifie une variable pour identifier les observations dans les impressions; en son absence, SAS met des numéros. INSTRUCTION OUTPUT OUTPUT OUT = Tableau Stat=noms Stat=noms etc...; Les statistiques récupérables sont PREDICTED, RESIDUAL, L95M, U95M, L95, U95, STDP, STDR, STUDENT..... INSTRUCTION RESTRICT Définit les contraintes linéaires que doivent respecter les coefficients. RESTRICT restriction1, ..., restriction k ; Il peut y avoir plusieurs RESTRICT ou plusieurs restrictions dans un RESTRICT, séparées alors par des virgules. INSTRUCTION TEST La syntaxe est semblable à celle de RESTRICT TEST équation 1,...., équation k; Exemple : MODEL Y = A1 A2 B1 B2; TEST A1+2*A2=1; TEST B1=0, B2=0; INSTRUCTION MTEST Applicable quand l'instruction MODEL spécifie plusieurs variables endogènes fonctions des mêmes régresseurs. MTEST équation 1,...., équation k; Exemple : MODEL Y1 Y2 = X1 X2 X3; T1: MTEST X1,X2; T2: MTEST Y1-Y2; Les hypothèses suivantes sont testées: T1 : les coefficients de X1 et X2 sont nuls dans les deux régressions T2 : tous les coefficients sauf la constante sont les mêmes pour les deux équations. INSTRUCTION PLOT PROC REG ...; MODEL ...; PLOT y-variable* x-variable = 'symbol'/ OVERLAY SYMBOL=' '; L'instruction permet de tracer des graphes à partir de l'ensemble des variables (statistiques) générées dans l'estimation de l'équation.


Recommended