リスト内のすべての行列をまとめたい。これが私がやろうとしていることの例です:
## sets up the problem
m1 <- matrix(0,nrow=9,ncol=4)
row.pres <- lapply(1:4,function(x) seq(x,x+2))
m1.l <- lapply(1:4,function(y) {m1[row.pres[[y]],y] <- 1
return(m1)}
)
m1.l
のすべての要素を合計して、それぞれと同じ次元の単一の行列を作成したいと考えています。これが私の解決策です:
test <- lapply(1:4,function(x) paste("m1.l[[",x,"]]",sep=''))
add.all <- paste(test,collapse="+")
eval(parse(text=add.all))
しかし、もっと良い方法があるはずです!おそらく何かを介してdo.call
?