christian longhi latapses –...
TRANSCRIPT
Base de Données
Logiciel d'étude de données individuellesCRÉER, MANIPULER et GERERUTILISER
TABLEAUX SAS
Programmes SASSuite d’Etapes
Ensemble d’Instructions. Instruction = Mot clef.
TOUTES LES INSTRUCTIONS SE TERMINENT PAR UN
POINT VIRGULE
Programmes SASInstructions d’étape DATA et PROC, et Instructions de programmation.
Les étapes DATA préparent les tableaux SAS.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
FICHIERS SAS (SAS Data Sets).• Les tableaux SAS sont :
TEMPORAIRES OU PERMANENTS• Définition de « LIBRARY ».
FICHIERS “WINDOWS”.• Program Editor (*.sas)• Log• Output (*.lst)
Définitions
TABLEAUX SASVARIABLES SAS• Nom, Type (caractère ou numérique), Longueur.• Observations
NOMS SASPROGRAMMES SASOPTIONS SAS
Instruction INPUT
Mode LISTE de Input :INPUT nom de la 1° variable ... nom de la nième variable;
Mode COLONNE de Input :INPUT nom de variable [$] colonne début [-colonne fin] [.décimale];
Dessin d’Enregistrement
Mode FORMAT de Input :INPUT [pointeur] nom de variable [$] format d'entrée......;
Instruction SET
1. Assignation, Fonction2. Instructions3. Instructions de contrôle, expressions logiques4. Concaténation
libname b 'c:\tableaux';
data b.tab2; set b.tab1;
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;
Généralités sur les PROCEDURES
LES PROCEDURES OPERENT SUR LES TABLEAUX SASFORME GENERALE :
PROC nom de procédure Options;Instructions particulières / options;Instructions particulières / options;................;
RUN;
Généralités sur les PROCEDURESLes 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 /.
MAIS certaines options de PROC et certaines instructions sont communes à la quasi-totalité des procédures.
Généralités sur les PROCEDURESOption: 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
Instruction BY (Fichiers stratifiés SORT)Instruction VAR (Variables actives)Instruction ID (Identificateur)
Procédure SORTOBJET: 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 PRINTProc 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 MEANSPROC 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 MEANSLISTE DES STATISTIQUES DISPONIBLES :
N, NMISS, MEAN, STD, VAR, MIN, MAX, RANGE,SUM, USS, CSS, CV, STDERR, T, PRT, SUMWGTSi 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, SUMWGTOn 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 UNIVARIATEPROC UNIVARIATE DATA= PLOT NORMAL;
VAR variables ; ID variable;RUN;
!!! Toutes les statistiques univariées.
Procédure FREQPROC 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 horizontaleExemple: PLOT Y*X;
Y définit l'axe vertical et X l'axe horizontal
Procédure PLOTQUELQUES 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 CHARTPROC 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 CHARTOPTIONS COMMUNES AUX INSTRUCTIONS HBAR, VBAR, PIE, STAR, BLOCKMISSING : 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, BLOCKGROUP = 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 REGPROC 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 REGPROC 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 > ;OUTPUT < OUT=SAS-data-set > keyword=names < ... keyword=names > ;PAINT <condition | ALLOBS> < / options > | < STATUS | UNDO> ;PLOT <yvariable*xvariable> <=symbol> < ...yvariable*xvariable> <=symbol> < / options > ;REFIT;RESTRICT equation, ... ,equation ;REWEIGHT <condition | ALLOBS> < / options > | < STATUS | UNDO> ;< label: > TEST equation,<, ...,equation> < / option > ;
Procédure REGOPTIONS DE L'INSTRUCTION MODELPCLMCLIRSELECTION=option [FORWARD (or F), BACKWARD (or B), STEPWISE, MAXR, MINR, RSQUARE, ADJRSQ, CP, or NONE] INCLUDE= nSTOP= s , START=s……..