如何从函数Anova()中提取残差和读取系数?

问题描述 投票:1回答:1

我在包Anova()中使用函数car来执行类型III的测试。但我不知道如何提取残差或如何获取参数估计的信息。

有没有办法像residuals(model)summary.lm(model)这样做?

r anova coefficients
1个回答
3
投票

Anova的输出是class anovadata.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
© www.soinside.com 2019 - 2024. All rights reserved.