我有下一个查询。 我有一个周期
for (i in 2:n) { ... }
它在n等于1等于2然后等于1的情况下执行两次,但是我希望在这种情况下根本不执行该循环。 我也尝试过
seq(from = 2, to = 1, by = 1)
但是会产生异常。
我想不是一个常见的问题,但是我是该语言的新手,无法绕过它或无法在Internet中找到解决方法。 预先谢谢你。
答案 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:n
时n = 1
给出
2:1
#[1] 2 1
因此,它将运行两次循环。