Chapitre 3 SAS

Cours « Data Mining et Statistique » Présentation d’un logiciel de statistique décisionnelle : SAS Chérif Mballo 2/26/2015 1 – Vue d’ensemble de SAS 2 Langages de progra or 19 Sni* to View SAS: Statistical Analysis Software/System Système SAS: ensemble de modules logiciels pour la gestion et le traitement statistique des donnees: saisies, importations, interrogations, manipulations, transformations de données; analyses statistiques de base, modélisation, graphiques, rapports, SAS propose plusieurs langages de programmation: SAS de base qui sera présenté 4 Différentes fenêtres de SAS

Fenêtre de programmation (éditeur) : entrer, éditer, compiler les programmes Fenêtre Journal (Log) : analyse syntaxique du programme exécuté avec les messages suivants: Notes (en bleu dans SAS Windows) : aucune anomalie dans le traitement demandé; Avertissements (Warnings) : il est possible que des erreurs non fatales aient eu lieu pendant le traitement (n’empêche pas l’exécution du programme); Erreurs (Error, en rouge) : des erreurs graves de traitement ont eu lieu le message Error signale une erreur qui a stoppé l’exécution de cette étape du programme.

Comme SAS traite les différentes étapes de manière ndépendante, il peut exécuter l’étape suivante malgré les éventuelles erreurs rencontrées. De plus, SAS recopie (en noir) le code qui lui a été soumis Fenêtre Sortie (Output) : sorties résultats après compilation des analyse statistique interactive 6 Contraintes/Souplesses du langage SAS Instructions: Une instruction ne doit jamais être coupée par un retour de ligne Majuscules et minuscules: Généralement, pas de différence Commentaires: encadrés par les signes (début commentaire) et (fin commentaire) peuvent être intégrés à n’importe quel endrolt du programme

Point virgule: obligation de terminer chaque instruction par un point-virgule Erreurs: Une erreur dans un bloc dinstructions n’empêche pas l’exécution des autres blocs indépendants, donc bien regarder le log afin d’analyser la cohérence des résultats NOT (Negation) Appartenance d’appartenance à une liste d’éléments: IN («élément NOT IN («élément Concaténation Opérateurs logiques : and, or 9 Fonctions de base d’exercices SASIJSER: bibliothèque personnelle permanente (chaque utilisateur a sa propre SASUSER et son contenu n’est pas effacé à la fermeture de SAS)

MAPS: contient les fonds de cartes géographiques fournis par SAS 2 – Étape « DATA » 12 Syntaxe générale d’une étape « DATA » Étape « DATA » SAS possède son propre système de gestion de bases de données bâti sur la notion de table (SAS DATA SET ou TABLE SAS: représentation des données utilisées par le logiciel SAS) débute par l’instruction DATA nom table (nom de la table SAS créée) Si aucune table n’est créée, l’étape DATA débutera par l’instruction DATA NULL se termine toujours par finstruction RIJN permet de manipuler, observation par observation, un jeu de données

Création d’une table SAS: PAGF s OF lg des tables SAS: observation porte un numéro séquentiel recalculé ? chaque création de la table Variables/Colonnes: chaque variable est caractérisée par un nom, un type (caractère, numérique, date) , un label, un format, un informat 14 Caractéristiques d’une variable Nom: Mêmes spécificités qu’une table SAS Type: Caractère/Alphanumérique: longueur de 1 à 32 767 caractères, entre « ‘ » ou « », mais 8 par défaut (Ex: VIIIe – ‘Bamber ou Ville – « Bambey ») Numérique: SAS reconnaît les nombres entiers, entiers relatifs, réels (mettre un point à la lace de la virgule), notation scientifique (exemple : 5. 4E-1 ) Date: définie le plus souvent comme numérique car SAS stocke les dates comme le nombre de jours depuis le 01 janvier 1960 Pour les mois, on prend les trois premiers caractères du nom du mois en Anglais Exemple: Pour le 05 février 1982, on met ’05feb1 982’d (la lettre « d » à la fin est requise) Label: c’est une descriptio PAGF 6 OF lg variable (256 caractères Note_Statistique; CARDS; 2502 Saidou Ba H Thies 14 4512 Astou Diop F Bambey 12 ; /* le point virgule doit être à la dernière ligne n’ayant aucune information spécifiée

RIJN; Signe « $ »: spécifie que c’est une variable caractère/ alphanumérique LENGTH: permet de définir la longueur maximum désirée pour chaque variable caractère CARDS: peut aussi être remplacé par DATALINES INPUT: présente le format d’écriture des données Respecter Fordre des variables dans la saisie des données 17 Création d’une table SAS à partir d’un fichier externe DATA nom table , INFILE fichier en entrée ; ELSE ; END; ELSE ; DO = TO ; ; END, DO WHILE DO UNTIL ccondition» WHERE 20 Instructions SET, KEEP, DROP et RENAME Option « IN = n’est pas indispensable.

Elle permet de sélectionner des observations selon le fichier d’origine (pour des jointures à gauche/droite/ naturelle) 22 Fusion de tables: exploration de l’option « IN » Syntaxe pour la fusion de deux tables: DATA nom table; Nouvelle table à créer MERGE table_l ( IN – A) table_2 (IN = B); BY ; une ou plusieurs variables IF A; jointure à gauche (excluslon des lignes de table_2 qui ne ont pas dans table_l) /k IF 8: jointure à droite (exclusion des lignes de table_l qui ne sont pas dans table_2) IF (A and B): jointure naturelle (jointure stricte): lignes présentes dans les deux tables *l Aucune condition: jointure complète des tables 23 PAGF lg d’une table SAS: Une fois que les données ont été structurées sous la forme d’une table, elles peuvent être analysées au moyen de procédures (étape PROC) Procédures (PROC): programmes déjà écrits de SAS (à la syntaxe beaucoup moins libre que celle de l’étape DATA) il faut surtout renseigner un certain nombre de paramètres et aire jouer certaines options elles accomplissent chacune une tâche spécialisée : tri des données, calcul de statistiques, Chaque procédure commence par une instruction PROC suivie de son nom, et s’achève sur une instruction RIJN (qui demande l’exécution de cette procédure) Certaines procédures demandent de surcroît une instruction QUIT pour clore réellement leur syntaxe (cas des procédures graphiques, SQL). Syntaxe d’une procédure: PROC DATA = ; RIJN ; – . » est omis, la procédure est appliquée sur la dernière table créée 26