【发布时间】:2013-09-06 08:53:50
【问题描述】:
如果其他矩阵的值满足某些条件,我正在尝试按矩阵中的元素执行操作。我知道如何通过使用行和列的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 }
【问题讨论】: