Проблема:Я не могу удалить параметр более низкого порядка (, например, параметр главных эффектов )в модели, пока в модели остаются параметры более высокого порядка (, то есть взаимодействия ). Даже при этом модель подвергается рефакторингу, и новая модель не вкладывается в более высокую модель.
См. следующий пример (, так как я исхожу из дисперсионного анализа, который я использую contr.sum
):
d <- data.frame(A = rep(c("a1", "a2"), each = 50), B = c("b1", "b2"), value = rnorm(100))
options(contrasts=c('contr.sum','contr.poly'))
m1 <- lm(value ~ A * B, data = d)
m1
## Call:
## lm(formula = value ~ A * B, data = d)
##
## Coefficients:
## (Intercept) A1 B1 A1:B1
## -0.005645 -0.160379 -0.163848 0.035523
m2 <- update(m1,.~. - A)
m2
## Call:
## lm(formula = value ~ B + A:B, data = d)
## Coefficients:
## (Intercept) B1 Bb1:A1 Bb2:A1
## -0.005645 -0.163848 -0.124855 -0.195902
. Как видно, хотя я убираю один параметр(A
), новая модель(m2
)реорганизован и не вложен в большую модель(m1
). Если я преобразую свои факторы на руку в переменные числового контраста, я могу получить желаемые результаты, но как мне получить их, используя возможности факторов R?
Вопрос:Как я могу удалить фактор более низкого порядка в R и получить модель, которая действительно пропускает этот параметр и не подвергается рефакторингу (, т. е. число параметров в меньшей модели должно быть меньше )?
Но почему? Я хочу получить «Тип 3», например значения p -для модели lmer
, используя функцию KRmodcomp
из пакета pbkrtest
. Так что этот пример на самом деле просто пример.
Почему не перекрестная проверка? У меня такое ощущение, что это действительно больше вопрос R, чем вопрос статистики (т. е. я знаю, что вы никогда не должны подгонять модель с взаимодействиями, но без одного из основных эффектов, но я все еще хочу это сделать. ).