TRANSPOSEプロシジャ

スポンサーリンク

概要:データセットを転置します。
(選択した変数をオブザベーションに転置してデータセットを出力します。)

構文
PROC TRANSPOSE <DATA=input-data-set>
               <DELIMITER=delimiter>
               <LABEL=label>
               <LET>
               <NAME=name>
               <OUT=output-data-set>
               <PREFIX=prefix>
               <SUFFIX=suffix>;
  BY <DESCENDING> variable-1 <<DESCENDING> variable-2 ...> <NOTSORTED>;
  COPY variable(s);
  ID variable;
    IDLABEL variable;
  VAR variable(s);
RUN;

ステートメントの説明
ステートメント必須解説
BY各BYグループを転置します。
COPY変数を転置せずに直接コピーします。
ID転置された変数の命名元の値を含む変数を指定します。
IDLABEL転置された変数のラベルを作成します。
VAR転地する変数をリスト表示します。

data test1;
  input ID $ TYPE $ VALUE OTHER1 $ OTHER2 OTHER3;
cards;
SUBJ_1 SYSBP 120 aaa 11 22
SUBJ_1 DIABP 90 bbb 22 33
SUBJ_2 SYSBP 111 ccc 33 44
SUBJ_2 DIABP 77 ddd 44 55
SUBJ_3 SYSBP 140 eee 55 66
SUBJ_3 DIABP 105 fff 66 77
;
run;

SYSBP:血圧(上)
DIABP:血圧(下)


このデータをIDごとに転置させます。

proc transpose data = test1 out = test2;
  by ID;
  var VALUE;
  id TYPE;
run;

transposeプロシジャではプロシジャ内で明示されなかった変数は出力されません。

コメント