`probemod::pickapoint` завершается неудачно при смене модератора и IV для линейной модели с взаимодействием

Я пытаюсь смоделировать значения для взаимодействия, но когда я ввожу 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 ответ

Решение

Обратите внимание, что ваша модель регрессии указана как 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

поэтому при поиске вы получаете сообщение об ошибке disp:cyl,

Другие вопросы по тегам