3

リスト u (4 列、すべて同じヘッダー) に同様のデータ フレームのリストがあり、lapply 関数を実行して、各データ フレームの列 2 と 3 の相関関係を取得したいと考えています。関数が任意の整数 i を読み取るようにします (リストには 300 以上の csv があります)。

このコードを試しましたが、うまくいきませんでした:

i<-1:2
for (i) lapply(u, cor(u[[i]][,2],u[[i]][,3]))  

誰かがこのコードを修正するのを手伝ってくれますか? プログラムにはまだかなり新しい。

編集: 以下のメトリクス コードを試してみましたが、残念ながら csv の 1 つにはヘッダーのみが含まれ、データは含まれていません。次のエラーが表示されます: Cor(u[, 2], u[, 3]) のエラー: 'x' は空です

利用可能なデータがない場合に「cor」関数が0を返すようにsapplyを変更できる方法はありますか?

4

1 に答える 1

8

x には、すべてのデータフレームのリストが含まれます。次の例では、R の 2 つのデータフレームを使用しています (mtcars と iris)。

list(mtcars=mtcars,iris=iris)
lapply(x,function(x)cor(x[,2],x[,3]))
[[1]]
[1] 0.9020329

[[2]]
[1] -0.4284401

または、ベクトル出力が必要な場合:

sapply(x,function(x)cor(x[,2],x[,3]))
[1]  0.9020329 -0.4284401
于 2013-10-08T13:43:35.267 に答える