我正在尝试编写一个for循环,它将其值增加2.等效代码是c
for (i=0; i<=78; i=i+2)
我如何在R中实现同样的目标?
答案 0 :(得分:46)
有关详细信息,请参阅?seq
:
for(i in seq(from=1, to=78, by=2)){
# stuff, such as
print(i)
}
或
for(i in seq(1, 78, 2))
P.S。请原谅我的无知。在那里,我只是嘲笑自己。
但是,这是一种在R中做你想做的事情(请参阅更新的代码)
修改强>
在了解了C的工作原理之后,看起来问题中发布的示例迭代了以下序列:0 2 4 6 8 ... 74 76 78
。
要完全复制到R中,请从0
而不是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
答案 1 :(得分:0)
您可以按照以下方式进行操作,可以将要迭代的任意长度替换为length(v1),并将位置2处的增量值设置为所需值
for(i in seq(1,length(v1),2))