data Q1;
X=1;Y=2;Z=3;output;
X=2;Y=4;Z=3;output;
X=3;Y=2;Z=6;output;
run;
で、
proc means data=Q1 noprint;
var X Y Z;
output out=OUT(drop=_TYPE_ _FREQ_) mean=;
run;
とすると、データセットOUTの中身は
となります。
要約統計量=の後、何も指定しなければ、元の集計対象の変数名を上書きして
結果が格納されます。
出したい要約統計量が1つならそれでいいのですが
proc means data=Q1 noprint;
var X Y Z;
output out=OUT(drop=_TYPE_ _FREQ_) mean= sum=;
run;
のように2つ指定しても、格納する変数がないので、
上記のようなWarningがでて(University Editionのメッセージは全部英語なんです、、。)
sum=の方は無視されます。
なので
proc means data=Q1 noprint;
var X Y Z;
output out=OUT_1(drop=_TYPE_ _FREQ_)
mean=MEAN_X MEAN_Y MEAN_Z
sum=SUM_X SUM_Y SUM_Z;
run;
のように集計結果を格納したい新規変数名を、順番に記述してやれば
となります。
が、はっきり言って、1つ1つ指定するのは、変数が多いと大変面倒なので
proc means data=Q1 noprint;
var X Y Z;
output out=OUT_2(drop=_TYPE_ _FREQ_)
mean= sum=/autoname;
run;
こうしてやります。
すると
「変数名_要約統計量名」のルールに従って、自動的に変数が作成されるのです。
まあ便利!
ちなみに、例えば、XとYの平均、Zの合計だけを出したいとかって感じで、選択したい場合は
proc means data=Q1 noprint;
var X Y Z;
output out=OUT_3(drop=_TYPE_ _FREQ_)
mean(X Y)=
sum(Z)= /autoname;
run;
で
OKです。
森下卓九段が今期のNHK杯で敗退してしまったので、最近テンション低めです
森下卓九段が今期のNHK杯で敗退してしまったので、最近テンション低めです
0 件のコメント:
コメントを投稿