Многоходовое взаимодействие: простой способ получить числовые оценки коэффициентов?

Допустим, есть четырехстороннее взаимодействие с факториальным дизайном 2x2x2 плюс непрерывная переменная. Факторы имеют кодировку контраста по умолчанию (contr.treatment). Вот пример:

set.seed(1)

cat1 <- as.factor(sample(letters[1:2], 1000, replace = TRUE))
cat2 <- as.factor(sample(letters[3:4], 1000, replace = TRUE))
cat3 <- as.factor(sample(letters[5:6], 1000, replace = TRUE))
cont1 <- rnorm(1000)
resp <- rnorm(1000)
df <- data.frame(cat1, cat2, cat3, cont1, resp)

mod <- lm(resp ~ cont1 * cat1 * cat2 * cat3, data = df)

Глядя на выводcoef(mod)мы получаем что-то вроде:

        (Intercept)                   cont1                   cat1b 
        0.019822407             0.011990238             0.207604677 
              cat2d                   cat3f             cont1:cat1b 
       -0.010132897             0.105397591            -0.001153867 
        cont1:cat2d             cat1b:cat2d             cont1:cat3f 
        0.023358901            -0.194991402             0.060960695 
        cat1b:cat3f             cat2d:cat3f       cont1:cat1b:cat2d 
       -0.240624582            -0.117278931            -0.069880751 
  cont1:cat1b:cat3f       cont1:cat2d:cat3f       cat1b:cat2d:cat3f 
       -0.120446848            -0.141688864             0.136945262 
cont1:cat1b:cat2d:cat3f 
        0.201792298 

И чтобы получить предполагаемый перехват дляcat1b (например), мы бы добавили нашу неявную(Intercept) срок иcat1bт.е.coef(mod)[1] + coef(mod)[3], Чтобы получить изменение наклона для той же категории, мы использовали быcoef(mod)[2] + coef(mod)[6], а ля этот р-блоггеров пост, Становится довольно утомительно выписывать их все, иmethods(class="lm") не похоже, что у него есть какие-либо функции, которые делают это прямо из ворот.

Есть ли какой-то очевидный способ получить численные оценки для пересечения и наклона для каждой комбинации факторов?

Ответы на вопрос(1)

Ваш ответ на вопрос