Совместный тест значимости с терминами взаимодействия: содержит неверные имена коэффициентов / переменных - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь выполнить совместный тест значимости в R:

library(car)
data("mtcars")
mylm <- lm(mpg ~ qsec + gear + am + am:qsec + am:hp, data=mtcars)

linearHypothesis(mylm, c("am + am:qsec + am:hp"))

Но я всегда получаю эту ошибку:

Error in constants(lhs, cnames_symb) : 
  The hypothesis "am + am:qsec + am:hp" is not well formed: contains bad coefficient/variable names.

То, что я пытаюсь проверить, является ли

am + am: qsec + am: hp = 0

Я нашел в документации, как проверить все условия взаимодействия:

linearHypothesis(mylm, matchCoefs(mylm, ":"), verbose=TRUE)

Но я хочу протестировать термины взаимодействия и термины уровня вместе. Это возможно?

1 Ответ

0 голосов
/ 31 октября 2018

Просто обратите внимание, что

mylm$coefficients
# (Intercept)        qsec        gear          am     qsec:am       am:hp 
# -12.2376256   0.8891289   4.1170265 -19.4050359   1.5298394  -0.0316123 

имеет qsec:am вместо am:qsec. Тогда

linearHypothesis(mylm, c("am + qsec:am + am:hp"))

работает, но такой порядок не является чем-то очевидным. Например,

lm(mpg ~ am:qsec + am:hp, data = mtcars)$coef
# (Intercept)     am:qsec       am:hp 
#  17.1256930   0.7542508  -0.0456892
...