Les dictionnaires sont des tableaux associatifs dans lesquels chaque clés est reliée à une valeur.
Un dictionnaire se crée avec des accolades.
dico = {} # Création d'une dictionnaire vide
dico = {'clé1' : 'valeur1', 'clé2' : 'valeur1', 'clé3' : 'valeur3'} # Création d'une dictionnaire avec 3 valeurs
Pour ajouter une valeur dans un dictionnaire, il faut indiquer une clé entre crochets.
mon_dico[clé] = valeur # Ajout de valeur à la "position" clé
Si on ajoute une valeur à une clé existante, cela remplacera l'ancienne valeur par la nouvelle.
À savoir : si on boucle sur un dictionnaire, Python nous renverra les clés :
for element in dico:
print(element) # Affiche clé1 puis clé2 puis clé3
Les dictionnaires sont des tableaux associatifs dans lesquels chaque clés est reliée à une valeur.
Un dictionnaire se crée avec des accolades.
dico = {} # Création d'une dictionnaire vide
dico = {'clé1' : 'valeur1', 'clé2' : 'valeur1', 'clé3' : 'valeur3'} # Création d'une dictionnaire avec 3 valeurs
Pour ajouter une valeur dans un dictionnaire, il faut indiquer une clé entre crochets.
mon_dico[clé] = valeur # Ajout de valeur à la "position" clé
Si on ajoute une valeur à une clé existante, cela remplacera l'ancienne valeur par la nouvelle.
À savoir : si on boucle sur un dictionnaire, Python nous renverra les clés :
for element in dico:
print(element) # Affiche clé1 puis clé2 puis clé3
SAISIE MANUELLE DES DONNÉES
Pour rentrer manuellement des données dans une table, on utilise les instructions CARDS ou DATALINES dans une étape DATA.
Les données doivent être séparées par un espace. Si une valeur est manquante, il est impératif de l'indiquer par un point.
DATA table1;
INPUT nom $ prenom $ age;
CARDS; /* CARDS; indique à SAS que le début du pseudo fichier va commencer à la ligne suivante. */
Thibault Lanthiez 18
Jean Philippe .
Paul Dupond 30
; /* Le point virgule indique la fin du pseudo fichier. */
RUN;
SAS a seulement trois types de données : caractère (textuelle), numérique ou date.
- Les variables textuelles doivent être suivies du signe $.
- Les dates doivent être suivies de leur informat. Il faut préciser la position des jours (dd), des mois (mm) et des années (yy) après le nom de la variable (exemple : ddmmyy6. (année à 2 chiffres) ddmmyy8. (année à 2 chiffres avec des /) ou ddmmyy10. (année à 4 chiffres avec de /)).
Pour choisir le bon informat, il faut regarder comment sont présentées les dates dans le fichier.
Puis avec la commande FORMAT, il faut préciser dans quel format on veut que SAS affiche la date. Ça peut être n'importe quel format (ddmmyy10. , mmddyy10. , ddmmyy8. , etc ...).
Si on ne précise pas de format, SAS transformera la date en nombre de jours depuis le 1er janvier 1960.
- Il n'y a pas besoin de symbole ou d'informat pour les variables numériques.
Pour que SAS lise correctement les données, on doit donc lui indiquer le nom et le type des variables (grâce aux informats) dans l'instruction INPUT. Puis les formats (s'il y en a) dans l’instruction FORMAT.
DATA table1;
INPUT nom $ date ddmmyy10. age; /* La variable nom est de type textuelle donc elle est suivie du symbole $. La variable date est de type date donc elle est suivie de son informat. La variable age est de type numérique donc elle n'a pas besoin de symbole ou de informat. */
FORMAT date mmddyy8. ; /* Avec INPUT, on a indiqué comment SAS doit lire les données (grâce à des informats). Maintenant, avec le FORMAT, on indique comment SAS doit afficher la variable de type date */
CARDS;
Lanthiez 24/06/1999 18
Bisson 30/12/1800 218
Dupond 25/01/2012 30
Martin 14/07/1965 15
;
RUN;
SAS lit les données en colonne. Pour que SAS lise les données en ligne, on utilise les symboles @@ (à la fin du INPUT).
DATA table1;
INPUT nom $ date ddmmyy10. age @@;
FORMAT date mmddyy8. ;
CARDS;
Lanthiez 24/06/1999 18 Bisson 30/12/1800 218
Dupond 25/01/2012 30 Martin 14/07/1965 15
;
RUN;
Une variable de type textuelle sera lue jusqu'au 8ème caractère. Si une variable contient plus de 8 caractères elle sera donc tronquée.
Pour que SAS lise au-delà de 8 caractères, deux options s'offrent à vous :
- la variable contient exactement n caractères, on utilise l'informat $n.
- la variable contient au plus n caractères, on utilise l'informat :$n.
DATA table1;
INPUT nom :$10. prenom :$10. age; /* Il vaut mieux utiliser l'informat avec les deux points (:$n.) car il évite de compter les caractères et il offre donc plus de flexibilité. */
CARDS;
Thibault Lanthiez 18
Jean-Luc Philippe .
Paul Dupond 30
;
RUN;