Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在向量中添加元素,同时在R中循环_R_Loops_For Loop - Fatal编程技术网

在向量中添加元素,同时在R中循环

在向量中添加元素,同时在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

在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(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我不确定你说的答案是什么意思,我屁股上的口袋里都是。我也不确定花式循环有什么问题,如果这是要求的话。事实上我正在做一个图表,它只是将一个顶点的邻域添加到一个列表中,因此它是一个有限集,不会生成无限循环。