1 Librairies et tables SAS



Documents pareils
SAS de base : gestion des données et procédures élémentaires

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

1 Imputation par la moyenne

Séance 0 : Linux + Octave : le compromis idéal

INITIATION AU LOGICIEL SAS

Allo Support et services électroniques

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

L export de SAS vers Excel expliqué à ma fille

1 TD 2 : Construction d'une chier Acrobat et envoi par

ODS : organiser et diffuser des sorties

TP 1 : 1 Calculs en binaire, octal et hexadécimal

Bernard HAMM, Évelyne LAVOISIER

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Tutoriel code::blocks

Télécom Nancy Année

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Introduction à MATLAB R

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

LES ACCES ODBC AVEC LE SYSTEME SAS

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Création dynamique des répertoires WORK et SASUSER des utilisateurs

La technologie au collège

«Vous éditez, nous archivons!»

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Table des matières. 10 Gimp et le Web. Option de traitement d'images Mémento pour la séance N o Création d'animation

1 Modélisation d être mauvais payeur

Propagation sur réseau statique et dynamique

Cours Informatique Master STEP

Comment congurer WinEdt pour L A TEX?

TP 1. Prise en main du langage Python

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

BIRT (Business Intelligence and Reporting Tools)

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

Stockage du fichier dans une table mysql:

Initiation au logiciel SAS(9) pour Windows

TP Bases de données réparties

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

Initiation à la programmation en Python

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Utilisation de l éditeur.

Logiciel Le Sphinx Plus 2 version 5. Le Sphinx Développement Chavanod

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

TP SAS initiation IUP MIAGE L3

GUIDE D'UTILISATION DU LOGICIEL DU TRIDENT GRAPHIQUE : TRG_REPORT

Le Système SAS et les accès via OLE DB : une introduction

Conception de circuits numériques et architecture des ordinateurs

Recherche dans un tableau

Sauvegarde et Restauration d un environnement SAS

Édu-groupe - Version 4.3

TP1. Outils Java Eléments de correction

5. Excel 2010, le tableur collaboratif. a. Concevez des tableaux lisibles

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Compte-rendu de projet de Système de gestion de base de données

SAP BusinessObjects Web Intelligence (WebI) BI 4

Scénario: Données bancaires et segmentation de clientèle

Le stockage local de données en HTML5

LA SAUVEGARDE DES DONNEES SUR LES ORDINATEURS PERSONNELS

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Initiation à html et à la création d'un site web

Manuel d Utilisateur - Logiciel ModAFi. Jonathan ANJOU - Maud EYZAT - Kévin NAVARRO

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Introduction : présentation de la Business Intelligence

Accès instantané aux mots et aux locutions Le dictionnaire électronique offre une traduction rapide d'un mot ou d'une locution

SAS base Introduction à SAS SQL SAS IML

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

Configurer la supervision pour une base MS SQL Server Viadéis Services

Utilisation avancée de SugarCRM Version Professional 6.5

TP Contraintes - Triggers

Le Langage SQL version Oracle

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Présentation de Firefox

Cours Langage C/C++ Programmation modulaire

EXEMPLE DE PAGE : FORMAT A4 (210X297)

Comment échanger des données (fichiers) en format «STANDARD» lisibles par tous, quelque soit le programme et la version utilisés

GUIDE D UTILISATION DU LOGICIEL DE TELE-EXPERTISE BOGOU

Manuel d utilisation de l outil collaboratif

1. Structure d'un programme FORTRAN 95

Table des matières. 1 À propos de ce manuel Icônes utilisées dans ce manuel Public visé Commentaires...

Guide de démarrage rapide

Réaliser un PUBLIPOSTAGE

1. Introduction Création d'une requête...2

Cyberclasse L'interface web pas à pas

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

TD d économétrie appliquée : Introduction à STATA

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Formulaires et Compteurs

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Raja Bases de données distribuées A Lire - Tutoriel

Guide d utilisation WEBPORTAL CPEM Portail d Applications Web CPEM

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

Windows 7 Système d exploitation. INF Outils bureautiques, logiciels et Internet

Harp - Basculement des élèves en début d année

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Transcription:

1 Université Pierre et Marie Curie, Paris 6 Master 2 de Statistique Année 2014-2015 T.P. 2 Gestion des tables SAS 1 Librairies et tables SAS SAS eectue des calculs uniquement sur des chiers de données de type SAS. Ces - chiers spéciques, appelés Tables SAS, peuvent être visualisés uniquement à partir d'un programme SAS ou en utilisant SAS Explorer. Il existe un très large éventail de fonctions pour traiter les tables SAS. L'objectif de ce TP est d'apprendre à manipuler les exemples les plus standards. Les traitements des tables SAS sont en particulier pris en compte lors des étapes DATA ou en options des procédures. SAS utilise son propre système de gestion de données. Toute table SAS a un nom de la forme libref.tab où libref est le nom d'une librairie SAS (chaîne de moins de 8 caractères) qui correspond à un répertoire sur votre ordinateur (e.g. C:\votrelogin\SAS\tablesas). Le chier Unix qui correspond à la table SAS tab se nomme tab.sas7bdat, et se trouve dans le répertoire associé à libref. Tout chier de données SAS est donc automatiquement stocké sous forme d'un chier Unix, et il n'est donc pas besoin de le sauvegarder. Il existe deux bibliothèques prédénies work (temporaire) et sasuser (permanente). Lors d'une étape data, une table SAS est stockée par défaut dans work si l'on ne précise pas la libraire de référence libref (cf. le programme tp1.sas). La libraire work est temporaire ce qui signie que les tables SAS stockées dans work sont eacées à la n d'une session SAS, à l'inverse de sasuser. Il est possible de créer sa propre bibliothèque à l'aide de la commande : libname malib `repertoire'; où malib peut être n'importe quelle chaîne de moins de 8 caractères et où `repertoire' désigne le chemin d'un répertoire sur votre compte. Par convention les commandes (ou mots-clés) SAS seront notées en gras. Q. 1 Modier le programme tp1.sas pour créer une table tailpoid dans un de vos répertoires. Vérier que tout s'est bien passé dans LOG et qu'un nouveau chier.sas7bdat a bien été créé sur votre compte Unix. A l'aide de SAS Explorer, visualiser la table, la modier, la sauvegarder sous un autre nom. 2 Création de chiers de données SAS 2.1 Données incluses dans un programme SAS Lors du TP1, nous avons vu que l'instruction cards permet la saisie de données directement dans le programme SAS. La syntaxe (simpliée) d'une étape DATA utilisant cards est la suivante :

2 data libref.tab; input var1 type1 var2 type2... varn typen; instructions supplémentaires; cards ; données ; o var1, var2... sont les noms des variables de la table tab et type1, type2... sont les types de chaque variable : $ : variable de type texte (moins de 8 caractères) $n. : variable de type texte (au plus n caractères) date9. : variable de type date au format 15SEP2004 si on ne spécie pas type, alors la variable est de type numérique.... il en existe d'autres bien sûr Pour visualiser le contenu d'une table dans la fenêtre Output, on peut utiliser les instructions suivantes : proc print data=libref.tab; Q. 2 Ajouter deux variables de type texte nom et dat_entr dans la table tailpoid. Acher la table dans la fenêtre Output. Que remarquez vous? Utiliser l'instruction format dat_entr date9.; à la suite de input pour y remédier. Les individus restent 300 jours. Créer une variable dat_sort qui contient la date de sortie des individus sachant que les variables de type date sont codées sous forme de nombre. Visualiser la table dans la fenêtre Output. 2.2 Importation de chiers texte (ASCII) Il peut être fastidieux de rentrer toutes les observations d'une variable dans un programme SAS. Si l'on dispose de données correctement organisées dans un chier texte, il est possible de les importer dans une table SAS à l'aide des instructions suivantes (lorsque chaque observation est décrite par une ligne du chier) : data libref.tab; inle 'nom_fichier'; input var1 type1 var2 type2... varn typen; instructions supplémentaires; o nom_fichier est le nom d'un chier texte Unix. Dans ce TP, on propose d'étudier le chier ~jbigot/sas/salinite.txt qui contient les données d'une campagne océanographique menée par un laboratoire de chimie marine. Pour chaque station (CFC01, CFC02,...) de collecte des données, les variables suivantes sont répertoriées dans le chier : station : nom de la station salinité CTD : salinité mesurée à bord du bateau par une sonde température : température de l'eau mesurée par la sonde

3 salinité labo : salinité mesurée en labo à partir d'échantillons 02 : concentration en oxyg ne dissous dans l'eau F11 : concentration en fréon 11 dissous dans l'eau Q. 3 Copier le chier salinite.txt sur votre compte. Créer une table SAS sal contenant les variables indiquées ci-dessus. Visualiser la table avec SAS Explorer. Acher la table dans la fenêtre Output. 3 Manipulation des tables SAS Il est possible de créer de nouvelles tables SAS à partir de celles déjà existantes à l'aide de la syntaxe suivante : data libref.tab_out; set libref.tab_in; instructions; Par défaut, toutes les variables de tab_in sont recopiées dans tab_out ainsi que celles éventuellement créées par les instructions. Il est possible de ne pas garder certaines variables (drop) d'en garder uniquement certaines (keep), ou bien encore de sélectionner seulement certaines observations (where, select, when, if, then,else, do...). Les commandes pour traiter les variables de tab_in peuvent être passées en options des instructions data, set : data libref.tab_out (keep= var1 var2); set libref.tab_in (drop= var4 var6 where (var3 = 2 and var4 = 'Texte') ); instructions; Supposons que la table sal contienne les données du chier salinite.txt. Pour créer une table sal2 qui contienne les variables de la table sal sauf les variables 02 et F11, et qui contienne une variable qui prend la valeur 1 pour les observations réalisées par les stations 'CFC01', 'CFC02' et 'CFC03', la valeur 2 pour les observations réalisées par les stations 'CFC04', 'CFC05' et la valeur 3 sinon, on pourra utiliser les instructions du chier ~jbigot/sas/tp2.sas. Q. 4 Créer la table sal2 dénie ci-dessus. Acher la table dans la fenêtre Output. Les instructions suivantes sont une liste (non exhaustive) de commandes qui permettent de manipuler les variables des tables SAS. Ces instructions peuvent également être utilisées en options d'une procédure pour spécier les variables sur lesquelles les calculs seront eectués. Q. 5 Pour chaque instruction, eectuer les opérations demandées. drop = var1, var2... : acher la table sal en supprimant la variable station keep = var1, var2... : acher la table sal en gardant uniquement les variables oxygène et fréon

4 rstobs= n obs= p : acher les observations de la table sal comprises entre le 10 me et le 20 me individu. where= condition : pour la table sal, acher les observations de la station 'CFC01' pour lesquelles la température est négative. select (var); when(val3,val4,...) instructions; otherwise instructions; end; Cette série d'instructions est utilisée dans le chier tp2.sas pour créer la table sal2. Utiliser les commmandes IF condition THEN instructions; ELSE instructions; pour créer la table sal2. rename var=newname : modier le nom de quelques variables de la table sal label var='label de la variable' : donner un label à chaque variable de la table sal. Visualiser le résultat avec SAS Explorer.... il existe bien d'autres instructions et mots-clés. Nous en verrons encore quelquesuns au fur et à mesure de l'avancement des TP. Q. 6 Acher dans la fenêtre Output la moyenne et la variance des variables 02 et F11 (uniquement) pour les stations 'CFC01', 'CFC02' et 'CFC03'. Q. 7 Dans la table sal, ajouter une variable sal_max qui contienne le maximum de la salinité mesurée sur le bateau et de la salinité mesurée en laboratoire (utiliser Max(var1,var2)). 4 Quelques procédures pour transformer des tables SAS Tri de variables : la procédure sort permet de trier les variables d'une table selon plusieurs crit res. Sa syntaxe (simpliée) est la suivante : proc sort data=libref.tab_in out=libref.tab_out ; by <descending> var1 descending> var2>; Q. 8 Trier les observations de la table sal par ordre croissant de température, puis par ordre décroissant de concentration en oxygène. Standardisation de variables : la réduction ou standardisation de variables quantitative s'obtient à l'aide de la procédure standard (syntaxe simpliée) : proc standard data=libref.tab_in out=libref.tab_out mean=val1 std=val2 ; var var1 var2...; Q. 9 Pour la table sal, réduire les variables température et concentration en oxygène. Concaténation de tables : la concaténation verticale (ou fusion) consiste à compléter une table SAS par une table contenant les mêmes variables mesurées pour d'autres observations (syntaxe simpliée) :

5 data data=libref.tab_fusion; set libref.tab1 libref.tab2; Q. 10 Créer deux tables SAS contenant respectivement les observations des stations 'CFCO1', 'CFCO2', 'CFCO3' et les observations des autres stations. Fusionner ces deux tables pour retrouver la table sal. La concaténation horizontale consiste à regrouper les variables contenues dans deux tables distinctes. Cette opération peut être eectuée à l'aide de l'instruction merge qui permet de contrôler la bonne correspondance des lignes de chaque table selon une variable clé qui doit être triée (syntaxe simpliée) : data data=libref.tab_hori; merge libref.tab1 libref.tab2; by varcle; Q. 11 Créer deux tables SAS contenant respectivement les observations station, salinité CTD, température, salinité labo, et les observations salinité labo, 02, F11. Fusionner ces deux tables en utilisant la variable clé salinité labo pour retrouver la table sal. Nous avons vu quelques exemples de manipulation de tables, en utilisant une syntaxe simpliée pour la plupart des commandes. Une description précise de chaque commande peut être trouvée dans l'aide de SAS (menu Help) ou bien dans les références citées dans l'introduction SAS du TP 1. Q. 12 Reprendre les questions du TP en vous aidant de l'aide de SAS pour enrichir vos programmes de diérentes options. Essayer d'utiliser d'autres commandes pour manipuler des données (e.g. contains, like, rank, transpose, _N_...). 5 Compléments - Contrôle des sorties SAS avec l'environnement ODS Par défaut, SAS présente les résultats d'un programme sous forme de chier texte. Le système O.D.S. (Output Delivery System ) est un outil permettant de sélectionner des sorties SAS et de les récupérer en choisissant des présentations appropriées à certains logiciels tels que des éditeurs de texte (Word, par exemple) ou des éditeurs de graphiques (Adobe Illustrator, par exemple), etc. Le système O.D.S. ore entre autres les présentations suivantes : LISTING : présentation par défaut avec des caractères de type mono-espace (Monaco, Courier) ; PDF : chiers en format pdf ; RTF : chiers utilisables dans un éditeur de texte (Word, par exemple) ; HTML : chiers en langage html pour les pages Internet ;

6 PRINTER : chiers de type postscript pour les imprimantes du même type. Voici un exemple de programme SAS dans lequel la même sortie est produite en trois formats de chiers : data note; input nom $ note @@; cards ; Pierre 11 Paul 14 Carole 13 Jacques 7 ; ods rtf le = 'C:\... \note_examen.rtf'; proc print data= note ; ods rtf close ; ods pdf le = 'C:\... \note_examen.pdf'; proc print data= note ; ods pdf close ; ods printer le = 'C:\... \note_examen.ps'; proc print data= note ; ods printer close ; Commentaires : Dans ce programme, on commande d'abord la production d'un chier ".rtf" (Rich Text File) en écrivant ODS RTF ; suivi du chemin contenant le nom du chier à créer entre apostrophes. Ce chier contient la sortie de la procédure PRINT sous la forme d'un tableau. On sort ensuite de l'environnement O.D.S. avec l'instruction ODS RTF CLOSE ;. Les sorties en formats ".pdf"(portable Document Format) ou ".ps" (postscript) s'obtiennent de la même manière. Les chiers pdf peuvent être insérés dans un éditeur de texte mais pas les chiers postscript. Enn, notons aussi qu'il est possible d'interrompre l'achage des sorties dans la fenêtre Output via l'instruction : ODS LISTING CLOSE; L'instruction contraire : ODS LISTING; permet ensuite de rétablir l'achage. L'intérêt de cette instruction est évident lorsqu'une même procédure est exécutée un grand nombre de fois dans une boucle, notamment pour ne pas encombrer inutilement la fenêtre Output.