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

时间:2019-03-23 11:42:34

标签: r anova coefficients

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

是否可以通过类似residuals(model)summary.lm(model)的方式来做到这些?

2 个答案:

答案 0 :(得分: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类。行名称中也有“残差”

row.names(out)
#[1] "(Intercept)"              "fcategory"              "partner.status"           
#[4] "fcategory:partner.status" "Residuals"     

因此,使用行/列名称进行提取

out["Residuals","Sum Sq"]
#[1] 817.764

答案 1 :(得分:0)

根据我对问题的理解,您正在寻找

mod$residuals

也检查

names(mod)

导致

[1] "coefficients"  "residuals"     "effects"       "rank"          "fitted.values" "assign"        "qr"  
[8] "df.residual"   "contrasts"     "xlevels"       "call"          "terms"         "model"

您可以获得残差列表、系数列表 (mod$coefficients) 等。在 akrun 的示例中:

 mod$residuals
         1          2          3          4          5          6          7          8          9         10         11 
-0.9000000 -8.6250000 -4.6250000 -1.9000000  1.1000000 -2.9000000  4.7500000 -3.2500000  4.1000000  3.1000000 -3.2500000 
        12         13         14         15         16         17         18         19         20         21         22 
 0.3750000 -1.9000000  1.7500000 -3.6250000 11.3750000 -2.9000000 -5.6250000 10.3750000  0.3750000 -0.9000000  3.1000000 
        23         24         25         26         27         28         29         30         31         32         33 
 7.1428571 -2.2727273  3.6000000 -2.8571429  5.6000000 -4.8571429  2.7272727 -0.2727273 -0.8571429  1.7272727 -2.4000000 
        34         35         36         37         38         39         40         41         42         43         44 
 5.7272727 -6.2727273 -5.4000000  2.1428571 -0.2727273  2.7272727 -7.2727273  2.7272727  1.1428571 -1.4000000 -1.8571429 
        45 
 0.7272727 

mod$coefficients
               (Intercept)                 fcategory1                 fcategory2            partner.status1 
                12.0508117                  0.1902597                  1.0991883                  2.4591450 
fcategory1:partner.status1 fcategory2:partner.status1 
                -2.8430736                  1.7908550