我有下一个查询.我有一个周期
for (i in 2:n) { ... }
Run Code Online (Sandbox Code Playgroud)
并且它在n = 1的情况下执行两次,其中i等于2然后为1,但我希望在这种情况下根本不执行该循环.我也试过了
seq(from = 2, to = 1, by = 1)
Run Code Online (Sandbox Code Playgroud)
但它会产生异常.
我想比常见的问题,但我是那种语言的新手,并且无法绕过它或在互联网上找到解决方法.先感谢您.
使用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
Run Code Online (Sandbox Code Playgroud)
当你使用它的2:n时候n = 1
2:1
#[1] 2 1
Run Code Online (Sandbox Code Playgroud)
因此,它运行循环两次.