Comment utiliser PROC TRANSPOSE dans SAS (avec exemples)
Vous pouvez utiliser PROC TRANSPOSE dans SAS pour transposer rapidement un ensemble de données d’un format long à un format large .
Cette fonction utilise la syntaxe de base suivante :
proc transpose data=long_data out=wide_data;
by var1;
id var2;
var var3;
run;
où:
- by : La variable à placer le long des lignes
- id : La variable à placer le long des colonnes
- var : La variable dont les valeurs sont placées dans l’ensemble de données
L’exemple suivant montre comment utiliser PROC TRANSPOSE dans la pratique.
Exemple : Comment utiliser PROC TRANSPOSE dans SAS
Supposons que nous ayons l’ensemble de données suivant dans un format long en SAS :
/*create dataset in long format*/
data long_data;
input team $ variable $ value;
datalines;
A Points 88
A Assists 12
A Rebounds 22
B Points 91
B Assists 17
B Rebounds 28
C Points 99
C Assists 24
C Rebounds 30
D Points 94
D Assists 28
D Rebounds 31
;
run;
/*view dataset*/
proc print data=long_data;
Nous pouvons utiliser PROC TRANSPOSE pour convertir cet ensemble de données d’un format long à un format large :
/*create new dataset in wide format*/
proc transpose data=long_data out=wide_data;
by team;
id variable;
var value;
run;
/*view wide data*/
proc print data=wide_data;
Notez que cet ensemble de données contient les mêmes informations que l’ensemble de données précédent, mais il est simplement affiché dans un format large.
Par défaut, SAS crée une variable _NAME_ qui indique quelle variable est utilisée pour les valeurs de l’ensemble de données.
N’hésitez pas à utiliser l’instruction DROP pour supprimer cette variable lorsque vous utilisez PROC TRANSPOSE :
/*create new dataset in wide format*/
proc transpose data=long_data out=wide_data(drop=_name_);
by team;
id variable;
var value;
run;
/*view wide data*/
proc print data=wide_data;
Notez que la variable _NAME_ a été supprimée de l’ensemble de données.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment utiliser le résumé de procédure dans SAS
Comment utiliser Proc Tabulate dans SAS
Comment créer des tableaux de fréquences dans SAS