R中excel“fdist”函数的等价函数是什么?

时间:2014-02-25 09:45:46

标签: r excel

我正在研究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来获得相同的结果吗?

2 个答案:

答案 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"