这已经困扰我一段时间了。想象一下,您必须/想要使用循环。
如果你写了一个循环,但你想从数字 2 开始,你会使用以下代码:
for (i in 2:length(variable1) { ... }
当您尝试分配如下值时会出现问题:
variable2 <- 1:length(variable1)
for (i in 2:length(variable1) {
variable2[i] <- sample(variable1, 1) # silly example; ignore it content-wise
}
现在,无论您是否要初始化一个较小的向量,获得的变量 2 通常都会有问题,因为它在第一个位置有一个“1”。当您想从更高的数字开始时,处理 for 循环的最简单方法是什么?有没有比使用更好的方法i <- i+i
,因为我们还必须让它从 1 运行到 length(variable1) - 1。我错过了一个简单的解决方案吗?
当我这样做时,在for
循环之前预定义变量的最佳方法是什么?我通常使用variable2 <- 1:length(variable1)
, 当我知道 variable2 应该是一个长度为variable1
. 这是分配内存的最快方法吗?
编辑:我刚刚意识到这可能是最容易做到的:
variable2 <- 2:length(variable1)
for (i in 2:length(variable1) {
variable2[i-1]
}
但我仍然愿意接受更好的建议。