如何在基于ANOVA的情况下,让R输出F统计量的临界值?

5
在R中进行ANOVA分析时,唯一缺失的是它不会自动显示临界值。除此之外,所有其他信息都已给出。我可以看出我的F值比应该高得多,但我想知道截断点的边界在哪里。有一个在线计算器可以根据自由度产生F统计量的临界值,但我希望R能够完成这个任务。http://www.danielsoper.com/statcalc/calculator.aspx?id=4 如何实现呢?
示例:
>anova(anovaModel.model1)
                          Df  Sum Sq   Mean Sq F value    Pr(>F)    
data$SIZE    4 0.1193 0.027926  22.056 4.55e-16 ***
Residuals               1372 1.994 0.001352            
>F(variance.mod1)    #??
>F(4,1372 )          #Something like this?
1个回答

8

试试这个:

mylm <- lm(wt~mpg, data = mtcars)
myanova <- anova(mylm)
cbind(myanova, 'CriticalValue' = qf(1-.05, myanova[1,1], myanova[2,1]))

          Df    Sum Sq    Mean Sq  F value       Pr(>F) CriticalValue
mpg        1 22.343135 22.3431348 91.37533 1.293959e-10      4.170877
Residuals 30  7.335613  0.2445204       NA           NA      4.170877

qf 函数在这种情况下是您的好帮手。

alpha = .05
qf(1-alpha, myanova[1,1], myanova[2,1])

[1] 4.170877

等等,为什么我有两个输入的qf?每个字段代表什么意思?在这种情况下cbind是做什么的? - Tom
@Tom 你应该查看?qf以获得一个好的解释。cbind函数只是将anova表中的列与qf函数的结果绑定在一起。这是我将结果附加到ANOVA表的方法。 - bouncyball

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接