Proc GLM包含二进制虚拟变量列表

时间:2014-11-05 22:43:32

标签: sas

我正在进行回归。我的结果(依赖)是一个连续变量。我有两种类型的自变量。一个代表星期几。第二种类型的自变量是二进制变量(是/否)。我有大约40个这些二进制变量。我只对星期几与模型中所有40个二进制变量之间的交互项感兴趣。我在网上搜索过但找不到很好的编码方式:

示例代码:

proc glm
 class dayofweek binvar1-binvar40
 model outcome = dayofweek*binvar1 dayofweek*binvar2...dayofweek*binvar40/solution
run;

有没有更简单的方法来写这个?

1 个答案:

答案 0 :(得分:0)

不确定这是否算作更简单的解决方案:),但您可以构建一个宏变量IALL

DATA I;
  DO i = 1 TO 40; OUTPUT; END; 
RUN;
PROC SQL NOPRINT;
   SELECT VAR into: IALL SEPARATED BY " " FROM (SELECT CATS("dayofweek*binvar",PUT(I,2.0)) AS VAR FROM I);
QUIT;

并在PROC GLM中使用它

proc glm
class dayofweek binvar1-binvar40
model outcome = &IALL. /solution
run;