1

2 つのデータセット間の相関を計算するには、cor(x,y) を簡単に使用します。同じように。どうすればこれができるか誰か教えてくれませんか。どんなアイデアにも感謝します。EDIT: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 

上記の関数の利点は、1 つ、2 つのベクトルなど、Nどの入力にフィードするかに関係なく決定されることです。cor.testdata.frame

しかし、相関を計算するときは、入力引数から N を取得できます。

N = length(runif(100))
于 2013-01-29T13:55:54.140 に答える