Initiation à SAS

Transcription

Initiation à SAS
Initiation à SAS
Statistical Analysis System
Christian Longhi
LATAPSES – IDEFI.
Base de Données
Logiciel d'étude de données individuelles
Q
Q
CRÉER, MANIPULER et GERER
UTILISER
TABLEAUX SAS
SAS : ENSEMBLE DE MODULES.
Q
SAS/AF
Q
Q
SAS/FSP
Q
SAS/ETS
SAS/GRAPH
SAS
BASE
Q SASDE
DE BASE
Q
Q
…
Q
....
SAS/STAT
Programmes SAS
Suite d’Etapes
Q
Q
Ensemble d’Instructions.
Instruction = Mot clef.
TOUTES LES INSTRUCTIONS
SE TERMINENT PAR UN
POINT VIRGULE
ETAPES : Définition tableaux et
Procédures Statistiques, Graphiques…
DATA
PROC
Programmes SAS
Instructions d’étape DATA et PROC, et Instructions
de programmation.
Q Les étapes DATA préparent les tableaux SAS.
Q Les étapes PROC exploitent les tableaux SAS.
• Dans chaque instruction, on trouve des informations sur la
tache à effectuer, le nom du tableau à créer, ou le nom de
la procédure à effectuer, le nom du tableau à utiliser …
• Toute instruction peut s’accompagner d’ OPTIONS.
Fichiers
Q
FICHIERS SAS (SAS Data Sets).
• Les tableaux SAS sont :
TEMPORAIRES OU PERMANENTS
• Définition de « LIBRARY ».
Q
FICHIERS “WINDOWS”.
• Program Editor (*.sas)
• Log
• Output (*.lst)
Définitions
Q
Q
TABLEAUX SAS
VARIABLES SAS
• Nom, Type (caractère ou numérique), Longueur.
• Observations
Q
Q
Q
NOMS SAS
PROGRAMMES SAS
OPTIONS SAS
Etape DATA : Création d’un tableau SAS
Q
Données sur support “externe”
CARDS
DATA
INFILE
IMPORT
Etape DATA : Création d’un tableau SAS
Q
A partir de tableaux SAS
OUTPUT
OUT=
DATA
SET
MERGE
UPDATE
Instruction INPUT
Q
Mode LISTE de Input :
INPUT nom de la 1° variable ... nom de la nième variable;
Q
Mode COLONNE de Input :
INPUT nom de variable [$] colonne début [-colonne fin] [.décimale];
Dessin d’Enregistrement
Q
Mode FORMAT de Input :
INPUT [pointeur] nom de variable [$] format d'entrée......;
Instruction SET
libname b 'c:\tableaux';
data b.tab2; set b.tab1;
1. Assignation, Fonction
Q 2. Instructions
Q 3. Instructions de contrôle, expressions logiques
Q 4. Concaténation
Q
Instruction MERGE
data three;
merge one (in=inone) two (in=intwo);
run;
Q
Q
Instructions
BY
(Proc Sort)
QLABEL
:
• Variables.
QFORMAT
:
• Modalités des variables.
Variables “Machines” SAS
Q
Q
Q
Q
Q
_N_
IN =
_ERROR_
_TYPE_ , _FREQ_
FIRST.variable , LAST.variable
data t1;input x y z $ @@;
id=_N_;
cards;
11 3 AA 12 4 EE 12 3 ZZ 13 2 EE 13 3 ER 14 9 RT 14 8 YT 14 3 ER 11 4 BB
11 2 CV 13 5 RT 13 4 AZ 12 6 EF 12 8 ED
;
run;
proc sort data=t1;
by x;
run;
data t2; set t1;
by x;
if FIRST.x = 1 or LAST.x = 1;
run;
proc print data=t2;
run;
Instruction ARRAY
Généralités sur les PROCEDURES
Q
LES PROCEDURES OPERENT SUR LES TABLEAUX SAS
Q
FORME GENERALE :
PROC nom de procédure Options;
Instructions particulières / options;
Instructions particulières / options;
................;
RUN;
Généralités sur les PROCEDURES
Q
Q
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 /.
Q MAIS
certaines options de PROC et
certaines instructions sont communes à la
quasi-totalité des procédures.
Généralités sur les PROCEDURES
Q
Option: DATA
= nom de tableau;
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
(Fichiers stratifiés SORT)
Q Instruction VAR (Variables actives)
Q Instruction ID (Identificateur)
Q
Instruction BY
Procédure SORT
OBJET: Trier les observations d'un tableau SAS selon les valeurs d'une ou
plusieurs variables, ce qui permettra par exemple de les interclasser, de
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: Dans BY, faire précéder chaque
variable concernée du mot clé DESCENDING.
Procédure CONTENTS
Proc contents data= nom de tableau ;
Run;
Procédure PRINT
Proc print data= nom de tableau (obs=n);
Title 'Titre';
Title2 ‘Sous-Titre';
Var liste de variables;
Id variables ;
By variables ;
Pageby variables ;
Sum variables ;
Run;
Procédure MEANS
PROC MEANS DATA = Tableau SAS Options;
VAR variables;
CLASS variables;
BY variables;
FREQ variable;
WEIGHT variable;
OUTPUT OUT = tableau SAS
mot-clé=noms de variables...;
RUN;
Procédure MEANS
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).
Procédure UNIVARIATE
PROC UNIVARIATE DATA= PLOT NORMAL;
VAR variables ; ID variable;
RUN;
!!! Toutes les statistiques univariées.
Procédure FREQ
PROC FREQ Options;
TABLES Demandes/Options;
WEIGHT Variable;
FORMAT Variables et Formats;
BY Variables ;
TITLE 'Titre';
WHERE Condition Logique;
RUN;
(Tables x y x*y x*y*z x*(y z))
Procédure CORR
PROC CORR <option(s)>;
BY <DESCENDING> variable-1<...;
FREQ frequency-variable;
PARTIAL variable(s);
VAR variable(s);
WEIGHT weight-variable;
WITH variable(s);
RUN;
Procédure PLOT
PROC PLOT DATA = Tableau SAS Options;
PLOT demande / options;
BY variables;
RUN;
Un graphique se demande par : variable verticale * variable horizontale
Exemple: PLOT Y*X;
Y définit l'axe vertical et X l'axe horizontal
Procédure PLOT
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
OPTION DE L'INSTRUCTION PLOT
- OVERLAY : Les graphiques de l'instruction sont superposés
PLOT X*Y A*B/OVERLAY;
Procédure CHART
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;
RUN;
Procédure CHART
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.
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 : 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.
Procédure REG
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
Procédure REG
PROC REG < options > ;
< label: > MODEL dependents=<regressors> < / options > ;
BY variables ;
FREQ variable ;
ID variables ;
VAR variables ;
WEIGHT variable ;
ADD variables ;
DELETE variables ;
< label: > MTEST <equation, ... ,equation> < / options > ;
< ... keyword=names > ;
OUTPUT < OUT=SAS-data-set > keyword=names
PAINT <condition | ALLOBS> < / options > | < STATUS | UNDO> ;
PLOT <yvariable*xvariable> <=symbol> < ...yvariable*xvariable> <=symbol> < / options > ;
REFIT;
RESTRICT equation, ... ,equation ;
< / options > | < STATUS | UNDO> ;
REWEIGHT <condition | ALLOBS>
< label: > TEST equation,<, ...,equation> < / option > ;
Procédure REG
OPTIONS DE L'INSTRUCTION MODEL
P
CLM
CLI
R
SELECTION=option [FORWARD (or F), BACKWARD (or B),
STEPWISE, MAXR, MINR, RSQUARE, ADJRSQ, CP, or NONE]
INCLUDE= n
STOP= s , START=s
……..