我使用SPSS,有大约300个变量(分类、标量和序数)要建模。我需要一种简单/快速的方法来为存在交互的逻辑回归创建交互变量组合。R自动做到这一点,并创建了大约158个复合物(具有交互作用的变量)——在SPSS中似乎没有任何自动创建和输入交互作用变量的方法;每次我运行一个新模型时,都必须手动输入和/或测试这158种复合材料,这将是一项艰巨的工作!!有什么快速方法的建议吗?
如果您要重复运行这个模型,并且需要一种方法来创建这些合成变量,那么您很可能应该创建一个语法文件来完成这项工作。当您使用SPSS中的GUI运行命令时,SPSS会在输出窗口中生成语法。您可以复制此语法并使用它创建自己的脚本。例如,你可以写这样的东西:
DO IF (!MISSING Var1).
COMPUTE Var2 = Var1 * dummy1.
END IF.
EXECUTE.
不幸的是,是的,你必须在第一次循环时写300次这个代码块,但在未来你可以简单地运行它,并计算所有新的变量。
另一种方法是按顺序命名变量,并使用循环处理它们。假设你的变量按顺序命名为VarA,VarB,&VarC,然后你可以这样做一个循环:
VECTOR VectorVar = VarA TO VarC.
LOOP #cnt = 1 to 3 by 1.
COMPUTE VectorVar(#cnt) = VectorVar * dummy1.
ENDLOOP.
EXECUTE.
您真的想加入所有158个交互项吗?我对这种做法持怀疑态度。但是,如果您想构建表示所有这些交互项的变量,而不是在模型中指定它们,则可以使用SPSS社区网站(www.ibm.com/developerworks/spsdevcentral)上的CREATE DUMMIES扩展命令来实现。
您还可以使用Python的可编程性来构建逻辑过程中的显式交互项。
HTH,Jon Peck