【发布时间】:2013-08-26 23:32:36
【问题描述】:
使用for和while的组合,我的问题和这个例子类似:我想给向量x的第一个元素加1,跳过元素2:4,第五个元素加1直到到向量 x 的末尾。
j <- 0
x <- c(rep(1, 4), 5:7)
for (i in 1:length(x)){
x[i] <- x[i] + 1
while (j == 0){
i <- i + 1
if(x[i] != 1) j <- 1
print(paste('in:', i))
}
print(paste('out:', i))
}
结果表明 i 值没有变化。是否可以在 R 中更改它?
[1] "in: 2"
[1] "in: 3"
[1] "in: 4"
[1] "in: 5"
[1] "out: 5" # look!!!
[1] "out: 2"
[1] "out: 3"
[1] "out: 4"
[1] "out: 5"
[1] "out: 6"
[1] "out: 7"
【问题讨论】:
-
?"for" 在详细信息部分对此进行了解释
-
感谢@baptiste!我不知道可以使用?“for”!!!我刚试过 ?for...
-
仅供参考,这与全局或局部变量无关。
-
tks @hadley。我编辑了问题。
-
@baptiste,你的评论我解决了这个问题。
标签: r for-loop while-loop global-variables