使用R和ddply的“超过30对的相关性和显著性”
我在这里找到的问题解决方案的一部分: 除了计算皮尔逊r的cor之外,我还计算p值的cor.检验。但如果有限的观测不够,这就失败了,所以当一些ID是单独的,在我的例子中,它们经常是单独的 所以我只需要计算r,如果有超过30对的数据,如果有更少的,我想要NA 第二个问题是cor.test的详细输出会使生成的数据帧膨胀,即使我唯一想要的是p值。也就是说,如果p实际上是,我理解它是什么。这是r的意义吗 我只知道t检验,用来计算r的显著性 {t-test-value的公式:t=r·n-2^0.5/1-r^2^0.5-但t还不是显著性,否则我会尝试将公式实现到ddply语句中}尝试以下方法:使用R和ddply的“超过30对的相关性和显著性”,r,correlation,plyr,pearson,significance,R,Correlation,Plyr,Pearson,Significance,我在这里找到的问题解决方案的一部分: 除了计算皮尔逊r的cor之外,我还计算p值的cor.检验。但如果有限的观测不够,这就失败了,所以当一些ID是单独的,在我的例子中,它们经常是单独的 所以我只需要计算r,如果有超过30对的数据,如果有更少的,我想要NA 第二个问题是cor.test的详细输出会使生成的数据帧膨胀,即使我唯一想要的是p值。也就是说,如果p实际上是,我理解它是什么。这是r的意义吗 我只知道t检验,用来计算r的显著性 {t-test-value的公式:t=r·n-2^0.5/1-r^
> d <- data.frame(id = rep(1:3, c(5, 1, 10)), a = rnorm(16), b = rnorm(16))
> ddply(d, .(id), summarize, cor_a_b = if(length(id) < 3) {NA} else {cor.test(a, b)$p.value})
id cor_a_b
1 1 0.4393595
2 2 NA
3 3 0.5602855
试试这个:
> d <- data.frame(id = rep(1:3, c(5, 1, 10)), a = rnorm(16), b = rnorm(16))
> ddply(d, .(id), summarize, cor_a_b = if(length(id) < 3) {NA} else {cor.test(a, b)$p.value})
id cor_a_b
1 1 0.4393595
2 2 NA
3 3 0.5602855
哇!很快,很好的回答!工作起来很有魅力。谢谢:哇!很快,很好的回答!工作起来很有魅力。谢谢: