SAS Cours 1 : Gestion des données Nous avons pris le parti ici de ne vous donner que peu de conseils et d informations. Vous trouverez tout ce dont vous aurez besoin dans la documentation SAS (que vous devrez de toutes les façons apprendre à maîtriser lors de vos utilisations futures du logiciel), sur l internet (d importantes ressources SAS y sont disponibles), ou, en désespoir de cause à votre enseignant. Les fichiers que l on vous demandera de de télécharger sont tous disponibles là : http://lita.sciences.univ-metz.fr/~brucker/cours/sas/ 1 Aperçu général du logiciel Manipulez un peu les fenêtres en votre présence : explorateur, résultats, éditeur, sortie, journal. 1.1 Répertoire de travail Dans la fenêtre explorateur, créez-vous un nouveau dossier favori (il devra correspondre à un répertoire sur le disque dur où vous enregistrerez vos travaux SAS). Regardez dans le fenêtre journal ce que vous avez fait. 1.2 Bibliothèque Les bibliothèques SAS contiennent vos données. Créez-en une à vous, que vous appellerez comme vous voulez (c est la votre après tout). 1
2 Lecture de fichiers 2.1 Importation d un fichier Importez le fichier OCDE.xls. Sauvegardez la façon de faire (lorsque SAS vous le demandera) dans votre répertoire de travail et associez les données créées à votre bibliothèque. Cliquez droit sur le fichier et choisissez Afficher colonnes. Vous trouverez des informations sur : le nom de chaque colonne, son type (nombre ou texte), sa longueur, son format (format d affichage. Nous y reviendrons), son informat (format de lecture, nous y reviendrons aussi), son label (différent de son nom.). Regardez les autres colonnes. Rendez cette table plus conviviale en remplissant les champs description par exemple. 2.2 Manipulation du fichier Ouvrez le fichier importé (il est dans votre bibliothèque) et changez le label de la première colonne pour quelque chose de plus significatif. Manipulez un peu les données (faites des tris, des recherches,...) à l aide des icônes et du menu données. En particulier : trouver les pays dont l alimentation est supérieur strictement à 20, trouver les pays dont l alimentation est supérieur ou égale à 20, trouver les pays dont l habillement est supérieur aux meubles. Comprenez toutes les possibilités (en particulier la signification des opérateurs du menu where ). 2.3 Importation manuelle Faite l importation du fichier titanic.dat. manuelle des données. Les données se comprennent ainsi : On choisira ici une formatation class : la classe. 0 pour l équipage et sinon de 1 à 3, age : 0 pour les enfants et 1 pour les adultes, 2
sex : les sexe 0 pour féminin, 1 pour masculin, surv : 0 est mort, 1 à survécu. Question bonus : où est léonardo? 2.4 importation d un fichier via l éditeur Nous allons maintenant utiliser l éditeur pour importer nos propres fichiers. Cela ira à terme plus vite que les importations via le menu. Télécharger le fichier departements.data et recopiez (de façon intelligente) le programme ci-dessous dans l éditeur : data mabibliotheque.departements infile "Z:\mesTrucs\leSuperCoursSAS\departements.data" input No NomDepartement : $30. NomRegion : $30. unnumero Ensuite, exécutez le code en cliquant sur soumettre. Si vous deviez avoir des erreurs, elle sont consignées dans le journal. Lorsque le journal est (selon vous) trop plein n hésitez pas en supprimer le contenu (menu édition, supprimer tout ). Observez le résultat. Toute instruction dans SAS se termine par un. Les instructions sont répartis en blocs. Ici nous avons créé un bloc data qui gère les entrées de données. Nous avons lu un fichier (commande infile) chaque ligne ayant 4 paramètres, deux de type numériques (lesquels?) deux de type caractères (de combien de caractères maximum?). La fin du bloc est déterminée par la commande run. Question subsidiaire. À quoi sert le :? Essayez sans. En définitive aller voir l aide de input (input statement) et trouver-y la réponse. 2.5 Afficher le résultat On pourra utiliser la commande print. Les commandes SAS se lancent via le mot-clé proc. proc print data=mabibliotheque.departements Utilisez également la commande contents. À quoi peut-elle bien servir? 3 Lecture de fichiers avancée Linstruction cards permet de rentrer des données dans un champ data. 3
3.1 Instruction cards data mabibliotheque.fich1 input var1 var2 $ var3 cards 1.5 A 55 2.4 B 44 2.7 B 61 2.3 A 48 l instruction cards doit être la dernière instruction non nulle de l étape data une seule instruction cards par étape data il faut terminer les données par une instruction nulle () Question : pourquoi n a-t-on pas besoin ici de spécifier la longueur de la chaîne de caractère? 3.2 Fichiers spécifiques Voici quelques entrées cards. À vous de remplir le champ input. Vérifiez bien à l aide de l affichage des colonnes de vos données que vous avez les bons types. On veut regrouper les données par 3 variables : data mabibliotheque.fich1 input cards 1.5 A 55 2.4 B 44 2.7 B 61 2.3 A 48 Toujours que 3 variables, le champ de caractère pouvant contenir des espaces. Vous proposerez 2 solutions. La première en utilisant les colonnes comme délimiteurs, la seconde en remarquant que les espaces dans les chaînes de caractères sont uniques (deux espaces de suite) correspondent à des champs différents. data mabibliotheque.fich2 cards 1.5 A ou B 55 2.4 B 44 2.7 B 61 2.3 A 48 4
Encore pareil : data mabibliotheque.fich3 datalines 1.5,A ou B,55 2.4,B,44 2.7,B, 61 2.3,A, 48 4 Les formats On a déjà vu un format, $30. qui désigne une chaîne de 30 caractères. Il existe deux types de formats, les formats de lecture (que l on donne à la commnde input ou bien par la commande informat) et la commande format qui gère l affichage. Nous allons vous en montrer quelques-uns, ainsi que la manière d en créer d autres. 4.1 Les dates Exemple : DATA work.donnee input nom $15. dat_entr date8. cards Jean-philippe 08JAN89 Claude 05FEB88 Marie-christine 02MAR90 Eric 31DEC95 Carmino 12APR75 Etienne 1JAN60 proc print data=work.donnee Que s est-il passé? et maintenant en ajoutant : format dat_entr date8. Conclusions? Cerise sur le gâteau, en ajoutant les lignes suivantes après l input : 5
dat_sort = dat_entr+900 format dat_sort date8. Que s est-il passé? À faire : lisez le document là : http://www.ats.ucla.edu/stat/sas/ modules/dates.htm 4.2 Créer ses propres formats On utilise la commande format. Ainsi par exemple : proc format value tropclas 0 = equipage 1 = les riches 2 = les pas si riches 3 = les pauvres proc print data=mabibliotheque.titanic format Class tropclas. title "soyons explicite" À faire : lire et faire le document là http://www2.sas.com/proceedings/ sugi29/236-29.pdf 4.3 Changer de Formats On peut changer le format des données via afficher colonne (que l on a déjà vu), ou grâce à l éditeur : proc datasets library=mabibliotheque modify ocde format Alimentation 6.3 proc print data=mabibliotheque.ocde 6