我正在研究R,但发现找到合适的功能有几个困难。
在这种情况下,我想计算f分布进行方差分析:
Regression F = 10.97
Regression df = 2
Residual df = 23
excel中的 fdist(10.97;2;23)
,它给了我“ 0.00045 ”,但是,R中的 df(10.97,2,23),结果为“ 0.0002310386 “
我也用TI-stat计算它,结果是$ 4.52 x 10 ^ { - 4} $
你能告诉我怎样才能通过使用R来获得相同的结果吗?
答案 0 :(得分:2)
您需要分配功能,而不是密度:
pf(10.97,2,23, lower.tail=FALSE)
#[1] 0.0004514294
答案 1 :(得分:2)
在Office 2013中,FDIST
的帮助页面指出:
此功能已被一个或多个新功能所取代 可以提供更高的准确性,其名称更能反映他们的 用法。 [...] 有关新函数的更多信息,请参阅F.DIST函数和 F.DIST.RT功能。
这里的R结果显示为更多的小数位:
format(df(10.97,2,23), digits = 15)
## [1] "0.000231038629222813"
在Excel中,您需要传递cumulative = FALSE
参数才能得到相同的答案:
=F.DIST(10.97,2,23, FALSE)
0.000231038629222813
为了进行比较,cumulative = TRUE
返回相同的R pf
函数。
format(pf(10.97,2,23), digits = 15)
## [1] "0.999548570608814"
=F.DIST(10.97,2,23, TRUE)
0.999548570608814
F.DIST.RT
是正确的尾部等效分布,奇怪的是,它只为您提供累积形式。
=F.DIST.RT(10.97,2,23)
0.000451429391185792
(哦,这与FDIST
相同!)
正如罗兰所指出的,它对应于:
format(pf(10.97,2,23, lower.tail = FALSE), digits = 15)
## [1] "0.000451429391185792"