在向量中添加元素,同时在R中循环
在R语言中我有一个问题需要解决,但是当我使用for循环时,我可能需要在循环中添加元素,但是循环不会经过新的值 我做了一个简单的循环来解释我遇到的问题类型 代码如下:在向量中添加元素,同时在R中循环,r,loops,for-loop,R,Loops,For Loop,在R语言中我有一个问题需要解决,但是当我使用for循环时,我可能需要在循环中添加元素,但是循环不会经过新的值 我做了一个简单的循环来解释我遇到的问题类型 代码如下: c=c(1,2) for(i in c){ c=c(c,i+2) print(i) } 结果是: [1] 1 [1] 2 我想要这个结果: [1] 1 [1] 2 [1] 3 [1] 4 它一直持续到我达到某种状态 有人能告诉我这是可能的还是没有其他方法 谢谢, Robin您可以使用while循环: test
c=c(1,2)
for(i in c){
c=c(c,i+2)
print(i)
}
结果是:
[1] 1
[1] 2
我想要这个结果:
[1] 1
[1] 2
[1] 3
[1] 4
它一直持续到我达到某种状态
有人能告诉我这是可能的还是没有其他方法
谢谢,
Robin您可以使用
while
循环:
test <- c(1,2)
n <- 1
while(n <= length(test)){
if(n == 5){
print(test)
break
}
print(test[n])
test <- c(test, n+2)
n <- n + 1
}
test您可以使用while
循环来代替:
test <- c(1,2)
n <- 1
while(n <= length(test)){
if(n == 5){
print(test)
break
}
print(test[n])
test <- c(test, n+2)
n <- n + 1
}
测试也许你可以使用而不是循环。是的,我刚刚考虑过,如果我添加一个条件使其立即停止,它似乎可以工作。但是谢谢你!!想解释一下这个循环的逻辑吗?如何从c(1,2)
到1:4
?在R中使用循环的理由很少——通常有更好的习惯用法。考虑到你在答案中的评论,你可能会感兴趣:我找到了问题的解决方案,最终不必增加向量。但是谢谢你的帮助。也许你可以使用while
循环来代替它。是的,我刚刚考虑过,如果我添加一个条件来立即停止它,它似乎会起作用。但是谢谢你!!想解释一下这个循环的逻辑吗?如何从c(1,2)
到1:4
?在R中使用循环的理由很少——通常有更好的习惯用法。考虑到你在答案中的评论,你可能会感兴趣:我找到了问题的解决方案,最终不必增加向量。但是谢谢你的帮助。谢谢你(我只在这个例子中使用了c,但下次我会注意你的笔记!),只是一个问题,中断是停止程序还是停止循环?这已经到达你屁股周围的口袋了。n
,如果需要的话,应该硬编码。这只是创建了一个奇特的无限循环。请记住,如果可能的话,应该避免生长的物体。@RomanLuštrik我不确定你说的答案是什么意思,我屁股上的口袋里都是。我也不确定花式循环有什么问题,如果这是要求的话。事实上我正在做一个图表,它只是在一个列表中添加一个顶点的邻域,这样它就是一个有限集,不会生成无限循环。谢谢你(我在这个例子中使用了c,但下次我会注意你的注释!),只是一个问题,break是停止程序还是停止循环?这会影响到你屁股上的口袋。n
,如果需要,应该硬编码。这只是创建了一个奇特的无限循环。请记住,如果可能的话,应该避免生长的物体。@RomanLuštrik我不确定你说的答案是什么意思,我屁股上的口袋里都是。我也不确定花式循环有什么问题,如果这是要求的话。事实上我正在做一个图表,它只是将一个顶点的邻域添加到一个列表中,因此它是一个有限集,不会生成无限循环。