R内部有一个关于缺少参数的信息:Missingness
如果有办法在该函数中将函数的参数设置(覆盖)到R_MissingArg
,我感兴趣吗?
种类:
f <- function(x){
if(!missing(x)) message("x non missing")
make_missing(x)
if(missing(x)) message("x missing")
invisible()
}
我知道这可能不是推荐的方式,我应该使用x <- NULL
和is.null(x)
而不是检查遗漏。
答案 0 :(得分:3)
您可以将“x”替换为substitute()
:
var = substitute()
var
#Error: argument "var" is missing, with no default
而且,虽然使用x = substitute()
更安全,但您的make_missing
可能类似于:
make_missing = function(x) assign(deparse(substitute(x)),
substitute(),
envir = parent.frame())
你的“f”:
f = function(x)
{
if(missing(x)) message("missing") else message("not missing")
make_missing(x)
if(missing(x)) message("missing") else message("not missing")
}
f()
#missing
#missing
f(7)
#not missing
#missing