Выход Anova
имеет class
anova
и data.frame
.
Итак, если мы используем извлечение с именами строк / столбцов, оно должно работать. Используя воспроизводимый пример из ?Anova
документации
library(car)
mod <- lm(conformity ~ fcategory*partner.status, data=Moore,
contrasts=list(fcategory=contr.sum, partner.status=contr.sum))
out <- Anova(mod, type = 3)
str(out)
#Classes ‘anova’ and 'data.frame': 5 obs. of 4 variables:
# $ Sum Sq : num 5753 36 240 175 818
# $ Df : num 1 2 1 2 39
# $ F value: num 274.359 0.859 11.425 4.185 NA
# $ Pr(>F) : num 3.05e-19 4.31e-01 1.66e-03 2.26e-02 NA
# - attr(*, "heading")= chr "Anova Table (Type III tests)\n" "Response: conformity"
Метод print
меняет способ печати вывода. Но если мы просто снимаем класс anova
. «Остатки» также есть в именах строк
row.names(out)
#[1] "(Intercept)" "fcategory" "partner.status"
#[4] "fcategory:partner.status" "Residuals"
Итак, используя имена строк / столбцов для извлечения
out["Residuals","Sum Sq"]
#[1] 817.764