q**********9 发帖数: 711 | 1 有好几十个因变量(predictor,我的变量名字没有规律,不像x1-x99),想做一个stepwise
-regression, 要把这几十个因变量的 two way interaction term 都要作为因变量放
进去.程序怎么写?
要是用 proc Reg; 的话,要先添加two way interaction term 作为新的因变量,平时就
是用sas做作业,直接定义x1x2 = x1*x2就可以了,但是对于大批量数据怎么弄?
谢谢!
双黄包 | c**d 发帖数: 104 | 2 in the model: y = var1|var2|var3|var4 @2 /stepwise;
give you all 2-way interactions.
1. using proc contents output the variable name data
2: using proc sql to create a macro variable to paste your variables to be
var1|var2|var3|var4|.....
3: in the model y = &varlist. @2 /stepwise; | q**********9 发帖数: 711 | 3 proc glm 可以用 model y = var1|var2|var3|var4 @2;
但是option 里没有stepwise选项,
proc reg 有stepwise 选项,但是不能用 model y = var1|var2|var3|var4 @2这个命令,
我的sas 里没有proc glmselect 命令,现在该用哪个 proc 命令呢?
【在 c**d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : in the model: y = var1|var2|var3|var4 @2 /stepwise; : give you all 2-way interactions. : 1. using proc contents output the variable name data : 2: using proc sql to create a macro variable to paste your variables to be : var1|var2|var3|var4|..... : 3: in the model y = &varlist. @2 /stepwise;
| c**d 发帖数: 104 | 4 楼主给了包子,要负责到底。
1. 试试能不能下载:http://support.sas.com/rnd/app/da/glmselect.html
2. 如果不能,write a macro or use R
3: update SAS to 9.2 or later
/* step 1: generate all Combinations */
/* use the macro from SAS */
/* http://support.sas.com/techsup/technote/ts498.html */
%combo(2,a,b,c)
proc sort data = combo;
by v1 v2;
run;
/* step 2: create interaction Equations*/
data combo;
set combo;
length eq $100;
eq = cat("it_", strip(put(_n_,8.)),
'=', strip(v1), '*', strip(v2));
run;
/* step 3: assign those equations to macro var1 to var999 */
/* using data step or sql: &&eqlist_&i.*/
/* step 4: in data step, call those macros variables to */
/* calculate all interactions */
%macro a;
data new;
set old;
%do i = 1 %to 999;
&&eqlist_&i.;
%end;
run;
%mend;
/* step 5: use proc reg */
/* interacions */ | q**********9 发帖数: 711 | 5 哇,好详细,谢谢.
我下了 glmselect, 但这个只能基于9.1及更新的版本,我的sas是9.0.
明天按你下面的方法再试试,
非常感谢认真负责的回帖,再接个双簧包
【在 c**d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 楼主给了包子,要负责到底。 : 1. 试试能不能下载:http://support.sas.com/rnd/app/da/glmselect.html : 2. 如果不能,write a macro or use R : 3: update SAS to 9.2 or later : /* step 1: generate all Combinations */ : /* use the macro from SAS */ : /* http://support.sas.com/techsup/technote/ts498.html */ : %combo(2,a,b,c) : proc sort data = combo; : by v1 v2;
|
|