对于具有交互的线性模型,反转主持人和IV时,`probemod :: pickapoint`失败

时间:2016-09-30 22:48:54

标签: r regression linear-regression lm

我正在尝试为交互建模值,但是当我输入IV和主持人时,它会失败。当我扭转他们时它工作正常。 IV和主持人都是数字,因此它不是数据类型问题。任何人都知道为什么会这样吗?

错误讯息:

Error in cov[interactionterms[j], interactionterms[j]] :  subscript out of bounds

实施例

library(probemod)
lm.model<-lm(mpg~cyl*disp,data=mtcars)
## FAILS
ppick<-pickapoint(lm.model, dv="mpg", iv="disp", mod="cyl", method='meansd')
## WORKS FINE
ppick<-pickapoint(lm.model, dv="mpg", iv="cyl", mod="disp", method='meansd')

1 个答案:

答案 0 :(得分:1)

请注意,您的回归模型指定为cyl*disp,因此交互项为cyl:disp订单计数

如果您指定iv = "disp"mod = "cyl"pickapoint会查找disp:cyl (跟踪本地变量interactionterms,您会看到它) lm.model中没有这样的字词。

协方差矩阵有dimnames:

#            (Intercept)          cyl         disp      cyl:disp
#(Intercept) 25.04638446 -3.770034504 -0.162461470  2.219922e-02
#cyl         -3.77003450  0.705917580  0.017132037 -2.807237e-03
#disp        -0.16246147  0.017132037  0.001600197 -1.929310e-04
#cyl:disp     0.02219922 -0.002807237 -0.000192931  2.448097e-05

因此你得到&#34;下标超出范围&#34;查找disp:cyl时出错。