Comment renommer des variables dans SAS (avec exemples)
Vous pouvez utiliser la fonction rename pour renommer une ou plusieurs variables dans un ensemble de données SAS.
Cette fonction utilise la syntaxe de base suivante :
data new_data; set original_data (rename=(old_name=new_name)); run;
Les exemples suivants montrent comment utiliser cette fonction en pratique avec l’ensemble de données suivant :
/*create dataset*/
data original_data;
input x y z;
datalines;
1 4 76
2 3 49
2 3 85
4 5 88
2 2 90
;
run;
/*view dataset*/
proc print data=original_data;
Exemple 1 : Renommer une variable
Le code suivant montre comment renommer uniquement la variable x dans l’ensemble de données :
/*rename one variable*/
data new_data;
set original_data (rename=(x=new_x));
run;
/*view new dataset*/
proc print data=new_data;
Notez que x a été renommé new_x , mais tous les autres noms de variables sont restés les mêmes.
Exemple 2 : Renommer plusieurs variables
Le code suivant montre comment renommer les variables x et y dans l’ensemble de données.
Notez que vous n’avez pas besoin d’inclure des virgules entre les nouveaux noms de variables.
/*rename multiple variables*/
data new_data;
set original_data (rename=(x=new_x y=new_y));
run;
/*view new dataset*/
proc print data=new_data;
Exemple 3 : ajouter un préfixe à toutes les variables
Le code suivant montre comment ajouter le préfixe _NEW à toutes les variables de l’ensemble de données :
/*define prefix to append to each variable*/
proc sql noprint;
select cats(name, '=', '_NEW', name)
into :list
separated by ' '
from dictionary.columns
where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit;
/*add prefix to each variable in dataset*/
proc datasets library = work;
modify original_data;
rename &list;
quit;
/*view updated dataset*/
proc print data=original_data;
Exemple 4 : ajouter un suffixe à toutes les variables
Le code suivant montre comment ajouter le suffixe _NEW à toutes les variables de l’ensemble de données :
/*define suffix to append to each variable*/
proc sql noprint;
select cats(name, '=', name, '_NEW')
into :list
separated by ' '
from dictionary.columns
where libname = 'WORK' and memname = 'ORIGINAL_DATA';
quit;
/*add suffix to each variable in dataset*/
proc datasets library = work;
modify original_data;
rename &list;
quit;
/*view updated dataset*/
proc print data=original_data;
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment remplacer les valeurs manquantes par zéro dans SAS
Comment supprimer les doublons dans SAS
Comment normaliser les données dans SAS