Le script se décompose en cinq sections logiques, chacune créant une table de données (Grades1 à Grades5) et l'affichant. La première section montre la création et l'affichage simple. Les sections suivantes introduisent l'utilisation de l'instruction VAR dans PROC PRINT pour sélectionner et ordonner les colonnes. Une section démontre comment calculer une nouvelle variable (totalscores) au sein d'un DATA STEP. La dernière section montre comment modifier la valeur d'une colonne existante. Ce script est un bon exemple pour les débutants qui apprennent les fondamentaux du DATA STEP et de la procédure PRINT.
Analyse des données
Type : CREATION_INTERNE
Toutes les données sont créées et intégrées directement dans le script SAS à l'aide de l'instruction `DATALINES` au sein de chaque DATA STEP. Aucune source de données externe n'est requise ou utilisée.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc de code crée une table SAS nommée `Grades1`. L'instruction `input` définit la structure des données en lisant les variables à partir de positions de colonnes spécifiques. Les données sont fournies directement dans le code via `DATALINES`.
Copié !
DATA Grades1;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades1;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
DATALINES;
4
1011 Alia Bhatt 2100658384999196
5
1012 Maria Smith 1788286 . 1009597
6
1111 Thomas Jones 288819669919098
7
1121 Benedictine Arnold 268828289899399
8
1301 Trisha Gupta 1516979598564100
9
;
10
RUN;
2 Bloc de code
PROC PRINT
Explication : Cette procédure affiche l'intégralité du contenu de la table `Grades1` dans la fenêtre de sortie des résultats.
Copié !
PROC PRINT DATA=Grades1;
RUN;
1
PROC PRINTDATA=Grades1;
2
RUN;
3 Bloc de code
DATA STEP Data
Explication : Crée une deuxième table `Grades2`, identique à `Grades1`, pour démontrer une fonctionnalité d'affichage différente.
Copié !
DATA Grades2;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades2;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
DATALINES;
4
1011 Alia Bhatt 2100658384999196
5
1012 Maria Smith 1788286 . 1009597
6
1111 Thomas Jones 288819669919098
7
1121 Benedictine Arnold 268828289899399
8
1301 Trisha Gupta 1516979598564100
9
;
10
RUN;
4 Bloc de code
PROC PRINT
Explication : Affiche la table `Grades2`. L'instruction `var` est utilisée pour sélectionner spécifiquement les colonnes à afficher et définir leur ordre.
Copié !
PROC PRINT DATA=Grades2;
var name exam1 exam2 exam3 exam4 project finalexam;
RUN;
1
2
PROC PRINT
3
DATA=Grades2;
4
var name exam1 exam2 exam3 exam4 project finalexam;
5
RUN;
6
5 Bloc de code
DATA STEP Data
Explication : Crée une troisième table `Grades3` pour illustrer une autre variation de l'affichage des colonnes.
Copié !
DATA Grades3;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades3;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
DATALINES;
4
1011 Alia Bhatt 2100658384999196
5
1012 Maria Smith 1788286 . 1009597
6
1111 Thomas Jones 288819669919098
7
1121 Benedictine Arnold 268828289899399
8
1301 Trisha Gupta 1516979598564100
9
;
10
RUN;
6 Bloc de code
PROC PRINT
Explication : Affiche la table `Grades3` et utilise l'instruction `var` pour réordonner les colonnes dans un ordre différent de leur ordre naturel dans la table.
Copié !
PROC PRINT DATA=Grades3;
var name project finalexam exam1 exam2 exam3 exam4;
RUN;
1
2
PROC PRINT
3
DATA=Grades3;
4
var name project finalexam exam1 exam2 exam3 exam4;
5
RUN;
6
7 Bloc de code
DATA STEP Data
Explication : Crée la table `Grades4`. Une nouvelle variable `totalscores` est calculée en additionnant les scores des examens, du projet et de l'examen final. Notez que si une des variables du calcul est manquante ('.') comme pour 'Maria Smith', le résultat de `totalscores` sera manquant.
Copié !
DATA Grades4;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
totalscores = exam1 + exam2 + exam3 + exam4 + exam5 + project + finalexam;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades4;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
Explication : Affiche la table `Grades4`, en incluant la nouvelle colonne calculée `totalscores` pour vérifier le résultat du calcul.
Copié !
PROC PRINT DATA=Grades4;
var name exam1 exam2 exam3 exam4 project finalexam totalscores;
RUN;
1
2
PROC PRINT
3
DATA=Grades4;
4
var name exam1 exam2 exam3 exam4 project finalexam totalscores;
5
RUN;
6
9 Bloc de code
DATA STEP Data
Explication : Crée la table `Grades5`. Dans ce DATA STEP, la valeur de la variable existante `exam2` est modifiée en lui ajoutant 1 pour chaque observation.
Copié !
DATA Grades5;
input subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
exam2 = exam2 + 1;
DATALINES;
1011 Alia Bhatt 2 100 65 83 84 99 91 96
1012 Maria Smith 1 78 82 86 . 100 95 97
1111 Thomas Jones 2 88 81 96 69 91 90 98
1121 Benedictine Arnold 2 68 82 82 89 89 93 99
1301 Trisha Gupta 1 51 69 79 59 85 64 100
;
RUN;
1
DATA Grades5;
2
INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam;
3
exam2 = exam2 + 1;
4
DATALINES;
5
1011 Alia Bhatt 2100658384999196
6
1012 Maria Smith 1788286 . 1009597
7
1111 Thomas Jones 288819669919098
8
1121 Benedictine Arnold 268828289899399
9
1301 Trisha Gupta 1516979598564100
10
;
11
RUN;
10 Bloc de code
PROC PRINT
Explication : Affiche la table `Grades5` pour visualiser le résultat de la modification effectuée sur la colonne `exam2`.
Copié !
PROC PRINT DATA=Grades5;
var name exam1 exam2 exam3 exam4 project finalexam ;
RUN;
1
2
PROC PRINT
3
DATA=Grades5;
4
var name exam1 exam2 exam3 exam4 project finalexam ;
5
RUN;
6
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
« Ce script constitue la pierre angulaire de tout apprentissage sur SAS. Il illustre parfaitement le flux de travail standard : la lecture de données brutes, leur transformation logique dans l'étape DATA, et leur restitution via la procédure PRINT. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.