2016年2月27日 星期六

把sas資料集裡的某個值存成巨集變數(macro)


  • 把sas資料集裡的某個值存成巨集變數(macro)
使用
call symputx ("meanx", meanx);
就可以輕鬆存成巨集變數,symputx("巨集變數名稱",  變數名稱)。
巨集變數可以在任一個data step使用。


  • 範例:


proc means data = mysas.ex7_1 noprint;
 var Hardwood_Concentration__xi____;
 output out = add (drop = _type_ _freq_)
  mean(Hardwood_Concentration__xi____) = meanx;
run;

data _null_;
 set add;
 call symputx ("meanx", meanx);
run;

data nex7_1;
 set mysas.ex7_1;
 x1 = Hardwood_Concentration__xi____ - &meanx;
 x2 = (Hardwood_Concentration__xi____ - &meanx)**2;
run;

proc reg data = nex7_1;
 model Tensile_Strength__yi__psi_ = x1 x2;
run;
quit;
如果想要把變數減掉平均當作解釋變數如下圖,就可使用此方法。




資料集add:





%put &meanx; 

0 意見:

張貼留言