[R] Difference betweeen cor.test() and formula everyone says to use
Joshua Wiley
jwiley.psych at gmail.com
Fri Oct 17 02:20:26 CEST 2014
Hi Jeremy,
I don't know about references, but this around. See for example:
http://afni.nimh.nih.gov/sscc/gangc/tr.html
the relevant line in cor.test is:
STATISTIC <- c(t = sqrt(df) * r/sqrt(1 - r^2))
You can convert *t*s to *r*s and vice versa.
Best,
Josh
On Fri, Oct 17, 2014 at 10:32 AM, Jeremy Miles <jeremy.miles at gmail.com>
wrote:
> I'm trying to understand how cor.test() is calculating the p-value of
> a correlation. It gives a p-value based on t, but every text I've ever
> seen gives the calculation based on z.
>
> For example:
> > data(cars)
> > with(cars[1:10, ], cor.test(speed, dist))
>
> Pearson's product-moment correlation
>
> data: speed and dist
> t = 2.3893, df = 8, p-value = 0.04391
> alternative hypothesis: true correlation is not equal to 0
> 95 percent confidence interval:
> 0.02641348 0.90658582
> sample estimates:
> cor
> 0.6453079
>
> But when I use the regular formula:
> > r <- cor(cars[1:10, ])[1, 2]
> > r.z <- fisherz(r)
> > se <- se <- 1/sqrt(10 - 3)
> > z <- r.z / se
> > (1 - pnorm(z))*2
> [1] 0.04237039
>
> My p-value is different. The help file for cor.test doesn't (seem to)
> have any reference to this, and I can see in the source code that it
> is doing something different. I'm just not sure what.
>
> Thanks,
>
> Jeremy
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Joshua F. Wiley
Ph.D. Student, UCLA Department of Psychology
http://joshuawiley.com/
Senior Analyst, Elkhart Group Ltd.
http://elkhartgroup.com
Office: 260.673.5518
[[alternative HTML version deleted]]
More information about the R-help
mailing list