【发布时间】:2012-06-19 02:32:51
【问题描述】:
当n是R中向量v的长度时,我想循环从1:n开始的一系列数字。通常,我会使用for (i in 1:length(v))语法,但是当n == 0时这会失败.
执行此循环的惯用方式是什么?目前我做了以下操作,但看起来有点难看:
# This is in my standard library
rng <- function(n)seq(from=1, to=n, length.out=n)
# Now when I come to the for loop:
for(i in rng(length(v))){
print(paste("I ate", i, "kg of brocolli today"))
}
是的,我知道矢量化更好,但在某些情况下矢量化是不可能的,或者需要大量额外的工作以致于阅读代码更加困难。
【问题讨论】: