sujet - LITA

Transcription

sujet - LITA
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”. On choisira ici une formatation
manuelle des données.
Les données se comprennent ainsi :
• 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;
run;
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;
run;
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
;
run;
• 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
;
run;
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
;
run;
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
;
run;
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
;
run;
proc print data=work.donnee;
run;
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’
;
run;
proc print data=maBibliotheque.titanic;
format Class tropClas.;
title "soyons explicite";
run;
À 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;
run;
proc print data=maBibliotheque.ocde;
run;
6