Calculation p-values of a f-statistic with R

cjena picture cjena · Jan 29, 2014 · Viewed 55.7k times · Source

I'm trying to calculate p-values of a f-statistic with R. The formula R uses in the lm() function is equal to (e.g. assume x=100, df1=2, df2=40):

pf(100, 2, 40, lower.tail=F)
[1] 2.735111e-16

which should be equal to

1-pf(100, 2, 40)
[1] 2.220446e-16

It is not the same! There s no BIG difference, but where does it come from? If I calculate (x=5, df1=2, df2=40):

pf(5, 2, 40, lower.tail=F)
[1] 0.01152922

1-pf(5, 2, 40)
[1] 0.01152922

it is exactly the same. Question is...what is happening here? Have I missed something?

Answer

George Dontas picture George Dontas · Jan 29, 2014
> all.equal(pf(100, 2, 40, lower.tail=F),1-pf(100, 2, 40))
[1] TRUE