10 倍に並べ替えた 3 つのデータセットがあります。データセットの各順列は、3 つの行列 (データセットごとに 1 つの行列) の列を作成します。これら 3 つの行列 ( m1
、m2
、m3
) はリストにありますL
。各エントリ (この場合は 4) について可能なすべての組み合わせ (10x10x10=1000) を調べたいと思います。expand.grid を使用して、別の行列の行にある 3 つの行列全体で列呼び出しのすべての組み合わせを提供しましたM
。
M<-expand.grid(seq(1:10),seq(1:10),seq(1:10))
リスト内の私のデータは次のとおりです。
m1<-matrix(c(1,2,1,0,3,2,1,2,3,4),nrow=4, ncol=10)
m2<-matrix(c(m1[1,]),nrow=4,ncol=10)
m3<-matrix(c(m1[2,]),nrow=4,ncol=10)
L<-list(m1, m2, m3)
do.call
, cbind
, lapply
/sapply
を使用して、M から列座標を効率的に取得し、L に含まれる 3 つの行列の対応する列を調べて、それらを新しい行列にバインドするのを手伝ってもらえますか。
m.res<-for (i in 1:nrow(M) { "get" L[[1:3]][M[i,]] }
の場合i=1
、次のm.res
結果が得られます。
1 1 2
2 3 2
1 3 4
0 1 0
これはそれほど難しくないはずなので、 lapply
/のチュートリアルが明らかに必要です。sapply