Initiation à SAS Statistical Analysis System Christian Longhi LATAPSES IDEFI.
Base de Données Logiciel d'étude de données individuelles CRÉER, MANIPULER et GERER UTILISER TABLEAUX SAS
SAS : ENSEMBLE DE MODULES. SAS/FSP SAS/ETS SAS/AF SAS DE BASE SAS DE BASE... SAS/GRAPH SAS/STAT
Programmes SAS Suite 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 DATA PROC
Programmes SAS Instructions 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 SAS VARIABLES SAS Nom, Type (caractère ou numérique), Longueur. Observations NOMS SAS PROGRAMMES SAS OPTIONS SAS
Etape DATA : Création d un tableau SAS Données sur support externe DATA CARDS INFILE IMPORT
UTPUT OUT= Etape DATA : Création d un tableau SAS A partir de tableaux SAS SET DATA MERGE UPDATE
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 libname b 'c:\tableaux'; data b.tab2; set b.tab1; 1. Assignation, Fonction 2. Instructions 3. Instructions de contrôle, expressions logiques 4. Concaténation
Instruction MERGE data 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 SAS FORME GENERALE : PROC nom de procédure Options; Instructions particulières / options; Instructions particulières / options;...; RUN;
Généralités sur les PROCEDURES 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 /. MAIS certaines options de PROC et certaines instructions sont communes à la quasi-totalité des procédures.
Généralités sur les PROCEDURES 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 Instruction BY (Fichiers stratifiés SORT) Instruction VAR (Variables actives) Instruction ID (Identificateur)
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 > ; 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 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..