33

我正在尝试编写一个 for 循环,它将其值增加 2。等效代码是 c 是

for (i=0; i<=78; i=i+2)

我如何在 R 中实现相同的目标?

4

2 回答 2

60

查看?seq更多信息:

for(i in seq(from=1, to=78, by=2)){
#  stuff, such as
  print(i)
}

或者

for(i in seq(1, 78, 2))

ps 请原谅我对 C 的无知。在那里,我刚刚暴露了自己。

但是,这是在 R 中做你想做的事情的一种方式(请参阅更新的代码)

编辑

在学习了一点 C 的工作原理之后,看起来问题中发布的示例迭代了以下序列:0 2 4 6 8 ... 74 76 78.

要在 R 中完全复制它,请从 at0而不是 at开始1,如上所述。

seq(from=0, to=78, by=2)
 [1]  0  2  4  6  8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44
[24] 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78
于 2012-04-23T20:04:58.043 回答
1

you can do so in following way, you can put any length upto which you want iteration in place of length(v1), and the increment value at position of 2 to your desired value

for(i in seq(1,length(v1),2))
于 2020-09-24T14:18:53.427 回答