R中的Anova获取重要代码

时间:2017-04-08 21:58:21

标签: r anova

代码:

pred_model = anova(m1, m2, test="Chisq")
pred_model

结果:

Analysis of Variance Table

Model 1: male_birth ~ male_death + female_birth + female_death
Model 2: male_birth ~ male_death + female_birth
Res.Df    RSS Df  Sum of Sq Pr(>Chi)
 1     48 3.4883                       
 2     49 3.4951 -1 -0.0068189   0.7594

我是R的新手,有人可以建议如何获取模型的重要代码

1 个答案:

答案 0 :(得分:2)

summary函数通常会返回一个带有一列p值的矩阵。但是,在这种情况下,anova的结果将作为数据帧返回,该数据帧已进一步" class() - ed"作为" anova" -object(以便它可以拥有自己的print - 方法)。运行?lm中的第一个示例,然后:

> lm.D9 <- lm(weight ~ group)
> lm.0 <- lm(weight ~ 1)

> anova(lm.D9,lm.0)
Analysis of Variance Table

Model 1: weight ~ group
Model 2: weight ~ 1
  Res.Df    RSS Df Sum of Sq      F Pr(>F)
1     18 8.7292                           
2     19 9.4175 -1  -0.68821 1.4191  0.249

> str( anova(lm.D9,lm.0) )
Classes ‘anova’ and 'data.frame':   2 obs. of  6 variables:
 $ Res.Df   : num  18 19
 $ RSS      : num  8.73 9.42
 $ Df       : num  NA -1
 $ Sum of Sq: num  NA -0.688
 $ F        : num  NA 1.42
 $ Pr(>F)   : num  NA 0.249
 - attr(*, "heading")= chr  "Analysis of Variance Table\n" "Model 1: weight ~ group\nModel 2: weight ~ 1"

因此,您希望名为&#34的名为列的第二个值; 'Pr(>F)'

anova(lm.D9,lm.0)$'Pr(>F)'[2]
[1] 0.2490232