`probemod::pickapoint` 在为具有交互的线性模型反转调节器和 IV 时失败

`probemod::pickapoint` fails when reversing moderator and IV for a linear model with interaction

我正在尝试为交互建模值,但是当我以一种方式输入 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')

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

如果您指定 iv = "disp"mod = "cyl"pickapoint 将查找 disp:cyl (跟踪局部变量 interactionterms 并且您会看到的) 但是 lm.model.

中没有这个词

协方差矩阵具有维度名称:

#            (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

因此在查找 disp:cyl.

时出现 "subscript out of bounds" 错误