あまり取り上げられるところを見たことがないのですが、これはかなり革命的なことだと思っています。いずれ取り上げたいですが、meansプロシジャのclassdataステートメントと合わせれば、医薬系で臨床試験の有害事象を群別Grade集計するのなどが、かなり楽でスマートにできるようになりました。
ほとんど答えを先に言ってしまいましたが、詰めSAS_2問目です。
data Q1;
input X Y Z;
cards;
1 4 3
2 9 8
7 6 5
;
run;
このデータセットについてX、Yの値によってZの値を転置して以下のデータセットを作ります。
目的局面図は以下です。
【解法1】
proc transpose data=Q2 out=A1(drop=_NAME_);
var Z;
id X Y;
run;
これだけで詰んでます。idステートメントの複数変数指定はもっと注目されるべきSASのバージョンアップポイントだと思います。
【解法2】
data A2;
set Q1(where=(X=1 and Y=4) rename=(Z=_14));
set Q1(where=(X=2 and Y=9) rename=(Z=_29));
set Q1(where=(X=7 and Y=6) rename=(Z=_76));
drop X Y;
run;
Setの連続掛けは個人的に、とてもとても好きな方法です。指定したデータセットの中で最小のobs数に統一されることと、同名の変数が上書きされる性質は扱いにくい一方で、mergeステートメントとは違った魅力があると思います。
0 件のコメント:
コメントを投稿