Entering edit mode
4.5 years ago
zhangdengwei
▴
210
Hi all,
I wanna do bootstraped spearman correlation in R. I found there was a function, spearmanRho, which is capable of doing it in R. But after testing, it seems that there is no difference between with bootstrap and without bootstrap, here is my code:
> LSAT <- c(576,635,558,578,666,580,555,661,651,605,653,575,545,572,594)
> GPA <- c(3.39,3.30,2.81,3.03,3.44,3.07,3.00,3.43,3.36,3.13,3.12,2.74,
+ 2.76,2.88,2.96)
> n = length(LSAT)
> xy <- data.frame(cbind(LSAT,GPA))
> xy
LSAT GPA
1 576 3.39
2 635 3.30
3 558 2.81
4 578 3.03
5 666 3.44
6 580 3.07
7 555 3.00
8 661 3.43
9 651 3.36
10 605 3.13
11 653 3.12
12 575 2.74
13 545 2.76
14 572 2.88
15 594 2.96
> cor.test(xy$LSAT, xy$GPA, method = "spearman")
Spearman's rank correlation rho
data: xy$LSAT and xy$GPA
S = 114, p-value = 0.0006079
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.7964286
> spearmanRho(x=xy$LSAT,y=xy$GPA,method="spearman",R=1000)
rho
0.796
So is there anything I did wrong? or is there any alternative to perform it in R? Any suggestions would be greatly appreciated. Thanks!
h.mon, thanks for your reply. do you mean that the bootstrap would impact the confidence intervals other than rho?
The
spearmanRho
function uses thestats::cor
function to calculaterho
. Bootstrapping a certain number of times (the parameterR
or 1000 times in your example) then gives you a confidence interval around that measurement ofrho
.