Rの新機能、および私の頭の中で!列間のペアごとの計算を使用して行列を作成するR
私は、次の手順を結合しますコードを記述しようとしています:
a)は2列
b)の最小値が見つかった合計と、行ごとに、最小値を探す
C )多くの列でこれを行い、結果のペアワイズ行列を構築します。
手順a & bは、一度に2つの列に対して十分に簡単です。このように:
column1 = c(0.08, 0.20, 0.09, 0.19, 0.25, 0.20, 0.00)
column2 = c(0.07, 0.19, 0.09, 0.21, 0.25, 0.19, 0.00)
ps = data.frame(column1, column2)
sum(pmin(ps$column1,ps$column2))
しかし、ステップcのために、私は難易度7行32列からなるデータフレームの各ペアごとの列の比較のために、この操作を実行するコードを書くを持っています。これは私がこれまでに作ってみたものです:
d <- replicate(32, rnorm(7))
c <- combn(seq_len(ncol(d)),2)
mat1 <- matrix(0,ncol=32,nrow=32,dimnames=list(colnames(d),colnames(d)))
v1 <- unlist(lapply(seq_len(ncol(c)),function(i) {d1<-d[,c[,i]]; length(which(d1[,1]!=0 & d1[,2]!=0)) }))
mat1[lower.tri(mat1)]<-v1
私は私の問題は「V1」に関連する「機能」コマンド内にあるかなり確信しています。しかし、私は困惑し、本当に少しの助けを使うことができます!
私の目標は、各ペアごとの列比較の間に合計された最小値の32x32行列を持つことです。
これは意味がありますか?
ありがとうございました。
こんにちはアーロン、私はあなたの最初の提案を使用し、それは素晴らしい仕事をした!これで私を助けてくれてありがとう! – Monte