我在包Anova()
中使用函数car
来执行类型III的测试。但我不知道如何提取残差或如何获取参数估计的信息。
有没有办法像residuals(model)
和summary.lm(model)
这样做?
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
类。 “Residuals”也在行名中
row.names(out)
#[1] "(Intercept)" "fcategory" "partner.status"
#[4] "fcategory:partner.status" "Residuals"
因此,使用行/列名称进行提取
out["Residuals","Sum Sq"]
#[1] 817.764