当开头大于结束时,避免进入for循环

时间:2015-04-17 18:14:51

标签: r for-loop

该函数接收一个整数参数c,它取值从1到某个正n,我希望当c = 1时循环不迭代,即for循环的起始值大于结束值。

下面显示的方法不起作用:

repeted_f<-function(C_matrix, g, n, c, aux) {
  for(c_i in (2:c)) {
     #some small code here
  }
  return (F);
}

如果c = 1,c_i将迭代2和1,而不是迭代。

我也尝试用seq(2,c,by = 1)替换(2:c),希望这会给我一个空集,但是我得到一个错误:

Error in seq.default(2, c, by = 1) : wrong sign in 'by' argument

我知道我可以在进入循环之前检查是否(2> = c),但我正在寻找更优雅的解决方案。

1 个答案:

答案 0 :(得分:1)

R将始终生成范围,即使在负方向也是如此。因此,您必须执行您提到的操作,在循环之前添加条件。