Christian Longhi LATAPSES –...

39
Initiation à SAS Statistical Analysis System Christian Longhi LATAPSES – IDEFI.

Transcript of Christian Longhi LATAPSES –...

Initiation à SASStatistical Analysis System

Christian LonghiLATAPSES – IDEFI.

Base de Données

Logiciel d'étude de données individuellesCRÉER, MANIPULER et GERERUTILISER

TABLEAUX SAS

SAS : ENSEMBLE DE MODULES.

SAS/AFSAS/GRAPH

SAS/FSPSAS DE BASE

SAS/ETSSAS/STAT

…....

SAS DE BASE

Programmes SASSuite d’Etapes

Ensemble d’Instructions. Instruction = Mot clef.

TOUTES LES INSTRUCTIONS SE TERMINENT PAR UN

POINT VIRGULE

ETAPES : Définition tableaux et Procédures Statistiques, Graphiques…

PROCDATA

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

Etape DATA : Création d’un tableau SAS

Données sur support “externe”

DATACARDS

INFILE

IMPORT

Etape DATA : Création d’un tableau SASA partir de tableaux SAS

SET

MERGE

UPDATE

OUTPUTOUT=

DATA

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;

Instruction MERGEdata three;

merge one (in=inone) two (in=intwo);run;

Instructions BY(Proc Sort)

LABEL :• Variables.

FORMAT :• Modalités des variables.

Variables “Machines” SAS

_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

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 CONTENTS

Proc contents data= nom de tableau ;Run;

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……..