他のマトリックスの値がいくつかの基準を満たしている場合、マトリックス内の要素ごとに操作を実行しようとしています。for
行と列を使用してループで解決する方法は知っていますが、Rでそれを行うより効率的な方法があると確信しています。試してみましたが、要素を調べてその値を確認するapply(...,c(1,2),FUN)
方法がわかりませんcond
:
m <- matrix(rnorm(9),3,3)
cl <- c('a','b','c')
cond <- matrix(sample(cl,9,replace=T),3,3)
res.m <- apply(m, c(1,2), function(x) if (cond == 'a' ) { x*10 } if (cond == 'b' ) { x*-10 } else { 0 }