【发布时间】:2019-01-16 14:07:04
【问题描述】:
在R 上,我使用 boostrap 方法来获得相关系数估计和置信区间。
为了得到 p 值,我想,我可以计算不包含零的置信区间的比例。但这不是解决方案。
在这种情况下如何获得 p 值?
我正在使用cor.test 来获得系数估计。 cor.test 也可以给我每次测试的 p 值。但是我怎样才能得到引导的 p 值呢?
非常感谢!
下面是一个例子:
n=30
data = matrix (data = c (rnorm (n), rnorm (n),rnorm (n), rpois(n,1),
rbinom(n,1,0.6)), nrow = n, byrow = F)
data= as.data.frame(data)
z1 = replicate( Brep, sample(1:dim(data)[1], dim(data)[1], replace = T))
res = do.call ( rbind, apply(z1, 2, function(x){ res=cor.test(data$V1[x], data$V2[x]) ; return ((list(res$p.value,res$estimate))) }))
coeffcorr = mean(unlist(res[,2]), na.rm = T) #bootstrapped coefficient
confInter1 = quantile(unlist(res[,2]), c(0.025, 0.975), na.rm = T)[1] #confidence interval 1
confInter2 = quantile(unlist(res[,2]), c(0.025, 0.975), na.rm = T)[2] #confidence interval 2
p.value = mean (unlist(res[,1]), na.rm = T ) # pvalue
【问题讨论】:
-
您可以发布示例数据吗?请使用
dput(head(your_data, 20))的输出编辑问题。 -
好的,完成了:-)
标签: r correlation confidence-interval p-value statistics-bootstrap