【发布时间】:2014-05-27 13:34:07
【问题描述】:
SPSS 中具有二次项和交互的回归的语法如何?在 R 中,代码为:
fit <- lm(c ~ a*b + a*I(b^2), dat)
或
fit <- lm(c ~ a*(b+I(b^2), dat)
感谢您的帮助。
【问题讨论】:
标签: regression spss interaction quadratic
SPSS 中具有二次项和交互的回归的语法如何?在 R 中,代码为:
fit <- lm(c ~ a*b + a*I(b^2), dat)
或
fit <- lm(c ~ a*(b+I(b^2), dat)
感谢您的帮助。
【问题讨论】:
标签: regression spss interaction quadratic
使用REGRESSION,您需要在提交命令之前实际在SPSS数据文件中制作变量。因此,如果您的变量命名相同:
COMPUTE ab = a*b. /*Interaction*/.
COMPUTE bsq = b**2. /*squared term*/.
COMPUTE absq = a*bsq. /*Interaction with squared term*/.
然后这些可以放在回归方程的右侧。
REGRESSION VARIABLES=a,b,bsq,absq,c
/DEPENDENT=c
/METHOD=ENTER a,b,bsq,absq.
我以为你只能为交互作用做因子变量——但我错了,你也可以做连续变量(对不起!)。这是一个使用MIXED 的示例(如果使用REGRESSION,您仍然需要创建单独的变量)。
INPUT PROGRAM.
LOOP Case = 1 TO 200000.
END CASE.
END LOOP.
END FILE.
END INPUT PROGRAM.
COMPUTE a = RV.BERNOULLI(0.5).
COMPUTE b = RV.NORMAL(0,1).
COMPUTE ab = a*b /*Interaction*/.
COMPUTE bsq = b**2 /*squared term*/.
COMPUTE absq = a*bsq /*Interaction with squared term*/.
COMPUTE c = 0.5 + 0.2*a + 0.1*b -0.05*ab + .03*bsq -.001*absq + RV.NORMAL(0,1).
VARIABLE LEVEL a (NOMINAL).
RECODE a (0 = 2)(ELSE = COPY).
MIXED c BY a WITH b bsq
/FIXED = a b b*b a*b
/PRINT SOLUTION.
【讨论】:
/MIXED c by a with b bsq absq /FIXED a b bsq ab absq?是否还有其他选择,例如:/MIXED c by a with b bsq \FIXED c by a with b bsq a*bsq?甚至:/MIXED a b /FIXED a b b*b a*b a*b*b?
REGRESSION 命令中包含ab。是的,在MIXED(和其他GENLIN 命令)中,您可以指定因子 变量的交互,但不能指定连续变量。因此,鉴于您的示例,b*b 绝对不是有效的语法。 (只有BY 之后的变量才能估计这样的交互作用。)
/FIXED = a b b*b a*b。 bb 与 bsq 相同吗?并且没有缺少 absq(或 abb 或 ab2)吗?我将 bb 解释为 b2。