[R] Help on calculating spearman rank correlation for a data frame with conditions
Peter Ehlers
ehlers at ucalgary.ca
Wed Aug 29 21:11:16 CEST 2012
On 2012-08-29 08:45, S Ellison wrote:
>> id price distance
>> 1 2 4
>> 1 3 5
>> ...
>> 2 4 8
>> 2 5 9
>> I would like to calculate the rank-order correlation between
>> price and distance for each id.
>>
>> cor(price,distance,method = "spearman") calculate a
>> correlation for all.
>>
>
> Try by()
>
> #Example
> d <- data.frame(g=gl(5, 10), x=rnorm(50), y=rnorm(50))
> by(d[,2:3], d$g, cor, method="spearman")
It may seem a bit of overkill, but the plyr package is handy and
gives a nice output:
library(plyr)
ddply(d, .(g), summarize, correlation = cor(x, y, method = 's'))
Peter Ehlers
More information about the R-help
mailing list