Это один из тех случаев, когда вам нужно использовать ||
сверх |
somefun <- function (number1, number2, type=NULL) {
if (is.null(type) || type == "sum") {
print(number1+number2)
} else if (type == "product") {
print(number1*number2)
}
}
> somefun(1,4,type="sum")
[1] 5
> somefun(1,4,type=NULL)
[1] 5
> somefun(1,4)
[1] 5
Если я могу сделать предложение, хотя:
somefun2 <- function (number1, number2, type=NULL){
if(is.null(type)){
type <- "sum"
}
switch(type,
"sum" = number1 + number2,
"product" = number1 * number2
)
}