我理解编写"if - else if"语句的常用方法如下:
if (2==1) {
print("1")
} else if (2==2) {
print("2")
} else {
print("3")
}
Run Code Online (Sandbox Code Playgroud)
要么
if (2==1) {print("1")
} else if (2==2) {print("2")
} else print("3")
Run Code Online (Sandbox Code Playgroud)
相反,如果我这样写
if (2==1) {
print("1")
}
else if (2==2) {
print("2")
}
else (print("3"))
Run Code Online (Sandbox Code Playgroud)
或者这样:
if (2==1) print("1")
else if (2==2) print("2")
else print("3")
Run Code Online (Sandbox Code Playgroud)
声明不起作用.你能解释一下为什么}必须先行else或else if同一行吗?是否还有其他方法在R中编写if-else if-else语句,尤其是没有括号?
Ber*_*ool 36
R逐行读取这些命令,因此它认为在if语句之后执行表达式之后就完成了.请记住,您可以if 不加添加地使用else.
你的第三个例子将在一个函数中工作,因为整个函数在被执行之前被定义,所以R 知道它还没有完成(之后if() do).
小智 13
在R中,我们也有ifelse()函数:
ifelse(1 < 0, "hello", "hi")
Run Code Online (Sandbox Code Playgroud)
输出:
# [1] "hi"
Run Code Online (Sandbox Code Playgroud)