该函数接收一个整数参数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),但我正在寻找更优雅的解决方案。
答案 0 :(得分:1)
R将始终生成范围,即使在负方向也是如此。因此,您必须执行您提到的操作,在循环之前添加条件。