【发布时间】:2021-01-29 02:29:32
【问题描述】:
有没有办法在下面的代码中使用 apply 系列函数来代替 for 循环?
m <- matrix(0, 10, 5)
m
for (i in 2:5) m[,i] <- m[,(i-1)] + 1
m
【问题讨论】:
-
不是真的(虽然我可以想象有人会想出一些聪明的东西......)
-
@BenBolker 为什么不呢?
-
invisible(lapply(2:5, function(i) m[,i] <<- m[,(i-1)] + 1)); m -
因为
apply系列并不是真正为顺序操作而设计的。 -
@M-- 我也尝试过 sapply(2:7, function(i) mm[,i]
标签: r for-loop matrix apply lapply