【发布时间】:2020-06-02 15:19:21
【问题描述】:
我正在尝试创建一个必须提供两个参数的函数。对于第一个参数,我可以输入任何内容,但对于第二个参数,只允许输入字符“A”或“B”。然后我希望在一个列表中返回两个参数。
myFunction <- function(var1, var2){
if(missing(var1) | var1 == ""){stop("First argument is missing")}
if(missing(var2) | var2 != "A" | var2 != "B"){stop("Second argument is missing. Accepted values: 'A' or 'B'")}
myList <- list("out1" = var1, "out2"=var2)
return(myList)
}
myFunction("Hello world!", "A")
Error in myFunction("Hello world!", "A") :
Second argument is missing. Accepted values: 'A' or 'B'
我错过了什么?
【问题讨论】:
-
您需要在 var2 条件下使用 (var2 != "A" & var2 != "B") 而不是 or 。 (编辑:见下面的答案)