代码:
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的新手,有人可以建议如何获取模型的重要代码
答案 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