在n = 1的情况下,如何使R跳过2:n个周期?

时间:2019-01-01 13:24:14

标签: r range

我有下一个查询。 我有一个周期

for (i in 2:n) { ... }

它在n等于1等于2然后等于1的情况下执行两次,但是我希望在这种情况下根本不执行该循环。 我也尝试过

seq(from = 2, to = 1, by = 1)

但是会产生异常。

我想不是一个常见的问题,但是我是该语言的新手,无法绕过它或无法在Internet中找到解决方法。 预先谢谢你。

1 个答案:

答案 0 :(得分:7)

使用更安全的seq_len

n <- 1
for (i in seq_len(n)[-1]) {
  cat("Check", i, "\n")
}

#Does not print anything

n <- 4
for (i in seq_len(n)[-1]) {
  cat("Check", i, "\n")
}

#Check 2 
#Check 3 
#Check 4 

使用2:nn = 1给出

2:1
#[1] 2 1

因此,它将运行两次循环。