1

要计算两个数据集之间的相关性,我们很容易使用 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 文件)任何想法如何做到这一点?

4

1 回答 1

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))
于 2013-01-29T13:55:54.140 回答