Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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中的For循环_R_For Loop - Fatal编程技术网

带增量的R中的For循环

带增量的R中的For循环,r,for-loop,R,For Loop,我试图写一个for循环,它将把它的值增加2。等效代码为c is for (i=0; i<=78; i=i+2) 有关(i=0;i的详细信息,请参见?seq: for(i in seq(from=1, to=78, by=2)){ # stuff, such as print(i) } 或 p、 请原谅我的无知。我刚刚暴露了自己 然而,这是一种在R中实现所需功能的方法(请参阅更新的代码) 编辑 在了解了一些C的工作原理后,问题中的示例似乎重复了以下顺序:02468…747678 要

我试图写一个for循环,它将把它的值增加2。等效代码为c is

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

有关(i=0;i的详细信息,请参见
?seq

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

p、 请原谅我的无知。我刚刚暴露了自己

然而,这是一种在R中实现所需功能的方法(请参阅更新的代码)

编辑

在了解了一些C的工作原理后,问题中的示例似乎重复了以下顺序:
02468…747678

要在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

你们可以用下面的方法来做,你们可以把任何你们想要迭代的长度替换为长度(v1),并且把位置2的增量值替换为你们想要的值

for(i in seq(1,length(v1),2))

@概率可能值得一提的是,在R中经常使用
for循环
是不必要的。如果您提供了一个更完整的具体问题示例(或问另一个问题),则
for循环
很可能被完全省略。例如,
打印(seq(1,72,2))
与BenBarnes提供的代码做了相同的事情,@Justin的例子要快得多。在互联网上搜索“r for loops”以获取更多信息。@Justin,print(seq(1,72,2))会产生不同的输出。循环将每个元素打印为一个元组(在自己的行上)。这不是首选。如果循环可以由向量操作替换(或应用),可能应该是这样。@Justin,循环中的代码有时会被卷积,循环索引只是很小的一部分,在这种情况下,矢量化就不存在了。@RomanLuštrik的观点很好。我只是想指出,如果给出一个更完整的示例,提供的解决方案通常会更“R”“喜欢”和“经常”可以完全松开循环。然而,有时确实无法避免它们!请发布一个更完整的示例…在R中,很可能您实际上不需要for循环。
for(i in seq(1,length(v1),2))