2017-04-08 57 views
0

代码:方差R中,以获取显著码

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

你是什么意思名为列中的第二个值要获取 – user20650

+0

怎么办? @ user20650'##签字代码:0'***'0.001'**'0.01'*'0.05'。' 0.1''''p值 –

+1

如果你看看'str(pred_model)',你可以看到可以从'pred_mode'中提取的东西的名字,所以对于pvalue你可以使用''pred_model $'Pr(> Chi)''。星星不会被重新调整,而是被打印出来,你可以捕获这个星球的输出,或者用产生这些星球的打印方法来解决问题,编写你自己的函数来将p值转换为星号,或者最好的是省略星星 – user20650

回答

2

summary函数通常会返回一列有p值的矩阵。然而,在这种情况下,anova的结果作为一个数据框被返回,该数据框已被进一步“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" 

所以,你要被命名为” 'Pr(>F)'

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