如何在使用R计算相关性时显示值N的数量?

时间:2013-01-29 13:39:50

标签: r correlation

要计算两个数据集之间的相关性,我们很容易使用cor(x,y)。实际上,我想显示值的数量N =?同样。 任何人都可以告诉我如何做到这一点。我很感激任何想法。 编辑:按照Paul Hiemstra的说法,这个功能起到了作用:

     cor_withN = function(...) {
          cor_obj = cor.test(...)
           print(sprintf("N = %s", cor_obj$parameter + 2))
           return(data.frame(cor = cor_obj$estimate, N = cor_obj$parameter + 2))
                              }
              cor_withN(runif(100), runif(100))
                 [1] "N = 100"
                       cor   N
                cor 0.1718225 100  

但是我们经常希望cor的值与N分开,所以我们可以把结果写成2个文件(cor文件和N文件)任何想法怎么做?

1 个答案:

答案 0 :(得分:2)

一个可怕的黑客我必须承认,但这就是诀窍:

cor_withN = function(...) {
   cor_obj = cor.test(...)
   print(sprintf("N = %s", cor_obj$parameter + 2))
   return(data.frame(cor = cor_obj$estimate, N = cor_obj$parameter + 2))
 }
cor_withN(runif(100), runif(100))
[1] "N = 100"
          cor   N
cor 0.1718225 100 

上述功能的优势在于,无论您向N输入哪个输入,它都会确定cor.test:一个data.frame,两个向量等。

但是当你计算相关性时,你可以从输入参数得到N:

N = length(runif(100))