[R] Spearman correlation ties and discrepancies
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Wed Dec 6 01:56:14 CET 2006
Elinor Lichtenberg wrote:
> Hi. I am currently trying to run some Spearman correlations, and have
> encountered two issues.
>
> 1) When using cor.test() with a variable that includes ties, I get the
> "Cannot compute exact p-values with ties" error. I have read that this
> function now uses an asymptotic formula that allows for ties, so do not
> understand why I am getting this error. (I am running version 2.4.0.)
>
>
Because asymptotic formulas are not exact!
> I read the following data in from a CSV file:
> species,ecoldom,ecolrank,abundance,persistence,behavdom,behavrank,aggrlevel
> Fv,0.108333333,6,2.5,0,0.351351351,5,0.12195122
> Mq,0.114583333,5,2,0,0.167539267,5,0.287878788
> N,0.125,3,0.5,0,0.285714286,5,0.333333333
> S,0.116792929,4,11,0.125,0.684027778,2,0.723214286
> Th,0.164737654,1,22.5,0.875,0.717948718,2,1.614285714
> Ts,0.131944444,2,3,0,0.712328767,2,1.068965517
>
> I then use:
> cor.test(ecoldom, persistence, method="spearman")
>
>
> 2) I have tried using spearman.test() as an alternative to cor.test() and
> get different p-values (although the rho values are the same). Here is an
> example:
>
>
>> spearman(ecoldom, abundance)
>>
> rho
> 0.4857143
>
>> spearman.test(ecoldom, abundance)
>>
> Rsquare F df1 df2 pvalue n
> 0.2359184 1.2350427 1.0000000 4.0000000 0.3287230 6.0000000
>
>> cor.test(ecoldom, abundance, method="spearman")
>>
>
> Spearman's rank correlation rho
>
> data: ecoldom and abundance
> S = 18, p-value = 0.3556
> alternative hypothesis: true rho is not equal to 0
> sample estimates:
> rho
> 0.4857143
>
> Is this difference due to the two functions using different algorithms?
>
>
What spearman.test? It is not standard, and you're not telling us which
package it came from. Offhand I would guess that cor.test is using the
exact formula and spearman.test an asymptotic one. You can force
cor.test to use the asymptotic formula by setting exact=FALSE (oops,
there's a documentation buglet there).
More information about the R-help
mailing list