R中的Anova获取重要代码

Anova in R to fetch the significant codes

代码:

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 的新手,谁能建议如何获取模型的重要代码

summary 函数通常会 return 一个包含一列 p 值的矩阵。然而,在这种情况下,anova 的结果被 return 编辑为一个数据帧,它进一步 "class()-ed" 作为一个 "anova" 对象(这样它就可以有自己的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"

因此,您需要名为“named”的列中的第二个值'Pr(>F)'

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