Как удалить параметр более низкого порядка в модели, когда параметры более высокого порядка остаются?
The problem: Я не могу удалить параметр более низкого порядка (например, параметр основных эффектов) в модели, пока параметры более высокого порядка (то есть взаимодействия) остаются в модели. Даже при этом модель подвергается рефакторингу, и новая модель не вкладывается в более высокую модель.
Смотрите следующий пример (поскольку я исхожу из ANOVAs, я использую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
) подвергается рефакторингу и являетсяnot nested в большей модели (m1
). Если я преобразую свои коэффициенты на руку в числовые переменные контрастности, я могу получить желаемые результаты, но как мне получить их, используя возможности фактора R?
The Question: Как я могу удалить фактор более низкого порядка в R и получить модель, которая действительно пропускает этот параметр и не подвергается рефакторингу (т. Е. Число параметров в меньшей модели должно быть меньше)?
But why? Я хочу получить «тип 3»; как р-значения дляlmer
модель с использованиемKRmodcomp
функция отpbkrtest
пакет. Так что этот пример действительно просто пример.
Why not CrossValidated? У меня такое ощущение, что это действительно скорее вопрос R, чем вопрос статистики (то есть я знаю, что вам никогда не следует подбирать модель с взаимодействиями, но без одного из основных эффектов, но я все еще хочу это сделать).