我有一个带有3个必需参数的用户定义R函数
func <- function(x, y, z) {
some code...
}
万一一个参数被意外地从函数调用中排除,我只需按以下方式调用stop()
if (missing(x)) {
stop("Please provide a value for x.")
}
if (missing(y)) {
stop("Please provide a value for y.")
}
if (missing(z)) {
stop("Please provide a value for z.")
}
要检查它是否确实有效,我执行了以下操作:
func(y, z) # x missing
func(x, z) # y missing
func(x, y) # z missing
但是,只有上面的最后一个函数调用返回正确的消息。前两个函数都返回“请提供z的值”。
在这些呼叫中没有z时怎么办?