2014年4月28日月曜日

MEANSプロシジャで結果ビューアに出る結果と同じ形のデータセットを作る。



SAS9.3からMEANSプロシジャに「STACKODSOUTPUT (STACKODS でも可)」というオプションが追加されました。
これは結果ビューアの出力と似た形のデータセットを作ることが出来るオプションです。




サンプルデータ作成

data DT1;
input SEX  HEI  WEI;
cards;
1 165 70
1 155 50
2 160 40
2 150 50
2 149 60
;




3つのデータセット出力方法

STACKODSとそれ以外の出力方法もあわせて紹介していきます。


方法1 ・・・ OUTPUTステートメント
proc means data=DT1 n mean  nway;
   var  HEI  WEI;
   class  SEX / missing;
   output  out=SUM  n= mean= / autoname;
run;

データセットSUM
SEX _TYPE_ _FREQ_ HEI_N WEI_N HEI_Mean WEI_Mean
1 1 2 2 2 160 60
2 1 3 3 3 153 50



方法2 ・・・ ODS OUTPUT
ods output summary=SUM2;
proc means data=DT1 n mean  nway;
   var  HEI  WEI;
   class  SEX / missing ;
run;
ods output close;

データセットSUM2
SEX  NObs VName_HEI  HEI_N  HEI_Mean  VName_WEI  WEI_N  WEI_Mean 
1 2 HEI 2 160 WEI 2 60
2 3 HEI 3 153 WEI 3 50



方法3 ・・・ ODS OUTPUTとSTACKODSの組み合わせ (SAS9.3から)
ods output summary=SUM3;
proc means data=DT1 n mean  nway  STACKODS ;
   var  HEI  WEI;
   class  SEX / missing ;
run;
ods output close;

結果ビューアの出力











データセットSUM3
SEX NObs _control_ Variable N Mean
1 2 HEI 2 160.000000
1 2 WEI 2 60.000000
2 3 1 HEI 3 153.000000
2 3 WEI 3 50.000000




要望としては、将来他のプロシジャでも対応してほしいですね。
FREQプロシジャとか。。

0 件のコメント:

コメントを投稿