В настоящее время я модифицирую функцию, которая использует предоставленную пользователем функцию в качестве одного из своих входов. Я попытался использовать «is.na», чтобы увидеть, предоставляется ли функция, и пока она работает - в настоящее время она также выдает предупреждение. Есть ли лучший способ проверить, существует ли этот аргумент?
example <- function(num1, num2, functionName = NA) {
if (is.na(functionName)) {
return(list(num1, num2))
} else {
value <- functionName(num1, num2)
return(value)
}
}
> example(1,3)
[[1]]
[1] 1
[[2]]
[1] 3
> example(1,3, sum)
[1] 4
Warning message:
In is.na(functionName) :
is.na() applied to non-(list or vector) of type 'builtin'