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