使用R的非零假设的相关显着性

时间:2011-11-13 17:50:21

标签: r correlation

我正在测试两个变量之间的相关性:

set.seed(123)
x <- rnorm(20)
y <- x + x * 1:20
cor.test(x, y, method = c("spearman"))

给出:

Spearman's rank correlation rho

data:  x and y 
S = 54, p-value = 6.442e-06
alternative hypothesis: true rho is not equal to 0 
sample estimates:
   rho 
0.9594 

p值正在测试相关为零的零假设。是否有一个R函数可以让我测试一个不同的零假设 - 比如说相关性小于或等于0.3?

2 个答案:

答案 0 :(得分:3)

您可以使用bootstrap计算rho的置信区间:

1)创建函数来提取cor.test的估计值(记得放置索引以便引导可以对数据进行采样):

rho <- function(x, y, indices){
  rho <- cor.test(x[indices], y[indices],  method = c("spearman"))
  return(rho$estimate)
}

2)使用boot包来引导您的估算值:

library(boot)    
boot.rho <- boot(x ,y=y, rho, R=1000)

3)采取置信区间:

boot.ci(boot.rho)

答案 1 :(得分:0)

它没有在问题中说,但如果你可以忍受Pearson假设(双变量正常),你可以只查看置信区间的上限。像你这样的任何零假设都会在p <0.05时被拒绝。

> cor.test(x, y, method = c("pearson"))$conf
[1] 0.7757901 0.9629837