Sas で proc transpose を使用する方法 (例付き)
SAS でPROC TRANSPOSE を使用すると、データセットをロング形式からワイド形式にすばやく転置できます。
この関数は次の基本構文を使用します。
proc transpose data =long_data out =wide_data;
by var1;
idvar2 ;
var var3;
run ;
金:
- by : 線に沿って配置する変数
- id : 列に沿って配置する変数
- var : 値がデータセットに配置される変数
次の例は、実際にPROC TRANSPOSE を使用する方法を示しています。
例: SAS で PROC TRANSPOSE を使用する方法
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;
PROC TRANSPOSE を使用して、このデータセットをロング形式からワイド形式に変換できます。
/*create new dataset in wide format*/
proc transpose data =long_data out =wide_data;
by team;
variableid ;
varvalue ;
run ;
/*view wide data*/
proc print data =wide_data;
このデータセットには前のデータセットと同じ情報が含まれていますが、単にワイド形式で表示されているだけであることに注意してください。
デフォルトでは、SAS はデータセット内の値にどの変数が使用されるかを示す_NAME_変数を作成します。
PROC TRANSPOSEを使用する場合は、 DROPステートメントを自由に使用してこの変数を削除してください。
/*create new dataset in wide format*/
proc transpose data =long_data out =wide_data( drop =_name_);
by team;
variableid ;
varvalue ;
run ;
/*view wide data*/
proc print data =wide_data;
_NAME_変数がデータセットから削除されていることに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。