Le programme commence par créer plusieurs jeux de données (advisees, advisees_2012, advisees_2013, advisees_2014) en utilisant des étapes DATA avec des instructions DATALINES pour générer des données internes. Il utilise ensuite PROC APPEND pour fusionner ces jeux de données de différentes manières. Le premier append est simple, avec des structures de variables identiques. Le deuxième append introduit un jeu de données (advisees_2013) sans la variable 'gender', illustrant comment PROC APPEND gère les variables manquantes dans le jeu de données d'ajout (en les remplissant avec des valeurs manquantes dans les nouvelles observations). Les derniers exemples montrent l'ajout d'un jeu de données (advisees_2014) qui contient une variable supplémentaire ('program') non présente dans le jeu de données de base. Une première tentative sans l'option FORCE entraînera l'ignorance de cette nouvelle variable. La deuxième tentative, utilisant l'option FORCE, ajoute la nouvelle variable au jeu de données de base et la peuple avec des valeurs manquantes pour les observations existantes, puis ajoute les nouvelles observations avec leurs valeurs pour cette variable. Des PROC PRINT sont incluses pour visualiser les résultats à chaque étape.
Analyse des données
Type : CREATION_INTERNE
Toutes les données utilisées dans ce script sont créées en interne via des blocs DATA STEP et des instructions DATALINES. Aucun jeu de données externe ou SASHELP n'est requis.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée un jeu de données nommé 'advisees' avec trois variables : 'first' (prénom, caractère), 'gender' (genre, caractère) et 'matric' (année d'immatriculation, numérique). Il est initialisé avec trois observations.
Copié !
data advisees;
input first $ gender $ matric;
datalines;
Angela F 2010
Dawn F 2011
Aaron M 2011
run;
1
DATA advisees;
2
INPUT first $ gender $ matric;
3
DATALINES;
4
Angela F 2010
5
Dawn F 2011
6
Aaron M 2011
7
RUN;
2 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée un jeu de données nommé 'advisees_2012' avec la même structure de variables que 'advisees'. Il contient trois observations pour l'année 2012.
Copié !
data advisees_2012;
input first $ gender $ matric;
datalines;
Sruthi F 2012
Lindsey F 2012
Natalie F 2012
run;
1
DATA advisees_2012;
2
INPUT first $ gender $ matric;
3
DATALINES;
4
Sruthi F 2012
5
Lindsey F 2012
6
Natalie F 2012
7
RUN;
3 Bloc de code
PROC APPEND
Explication : Cette procédure PROC APPEND ajoute toutes les observations du jeu de données 'advisees_2012' au jeu de données 'advisees'. Les jeux de données ayant des structures de variables identiques, l'opération se déroule sans problème.
Copié !
proc append base = advisees data = advisees_2012;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2012;
4
RUN;
5
4 Bloc de code
PROC PRINT
Explication : Cette procédure PROC PRINT affiche le contenu actuel du jeu de données 'advisees' après la première opération d'ajout, montrant les observations originales et celles de 'advisees_2012'.
Copié !
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
5 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée un jeu de données nommé 'advisees_2013' avec uniquement les variables 'first' et 'matric'. La variable 'gender' est manquante par rapport au jeu de données 'advisees'.
Copié !
data advisees_2013;
input first $ matric;
datalines;
Sara 2013
Dennis 2013
run;
1
DATA advisees_2013;
2
INPUT first $ matric;
3
DATALINES;
4
Sara 2013
5
Dennis 2013
6
RUN;
6 Bloc de code
PROC APPEND
Explication : Cette procédure PROC APPEND tente d'ajouter 'advisees_2013' à 'advisees'. Puisque 'advisees_2013' ne contient pas la variable 'gender' présente dans 'advisees', les nouvelles observations ajoutées depuis 'advisees_2013' auront une valeur manquante pour la variable 'gender'.
Copié !
proc append base = advisees data = advisees_2013;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2013;
4
RUN;
5
7 Bloc de code
PROC PRINT
Explication : Cette procédure PROC PRINT affiche le contenu du jeu de données 'advisees' après l'ajout de 'advisees_2013', mettant en évidence les valeurs manquantes pour 'gender' dans les observations nouvellement ajoutées.
Copié !
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
8 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP crée un jeu de données nommé 'advisees_2014' qui inclut une nouvelle variable 'program' non présente dans le jeu de données 'advisees' de base.
Copié !
data advisees_2014;
input first $ matric program $;
datalines;
Nathan 2014 MPH
Gloria 2014 PhD
run;
1
DATA advisees_2014;
2
INPUT first $ matric program $;
3
DATALINES;
4
Nathan 2014 MPH
5
Gloria 2014 PhD
6
RUN;
9 Bloc de code
PROC APPEND
Explication : Cette procédure PROC APPEND tente d'ajouter 'advisees_2014' à 'advisees'. Sans l'option FORCE, la variable 'program' de 'advisees_2014' sera ignorée et ne sera pas ajoutée au jeu de données 'advisees' car elle n'existe pas dans le jeu de données de base.
Copié !
proc append base = advisees data = advisees_2014;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2014;
4
RUN;
5
10 Bloc de code
PROC PRINT
Explication : Cette procédure PROC PRINT affiche le contenu du jeu de données 'advisees' après la tentative d'ajout de 'advisees_2014' sans l'option FORCE. La variable 'program' ne sera pas visible.
Copié !
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
11 Bloc de code
PROC APPEND
Explication : Cette procédure PROC APPEND ajoute 'advisees_2014' à 'advisees' en utilisant l'option FORCE. L'option FORCE permet l'ajout même si les structures de variables diffèrent. Dans ce cas, la variable 'program' de 'advisees_2014' sera ajoutée au jeu de données 'advisees', et les observations existantes dans 'advisees' recevront une valeur manquante pour 'program'.
Copié !
proc append base = advisees data = advisees_2014 force;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2014 force;
4
RUN;
5
12 Bloc de code
PROC PRINT
Explication : Cette procédure PROC PRINT affiche le contenu final du jeu de données 'advisees' après l'ajout forcé de 'advisees_2014', montrant toutes les variables, y compris la nouvelle variable 'program'.
Copié !
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
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.
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.