R force参数缺失 - R_MissingArg

时间:2015-04-10 21:42:32

标签: r

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 <- NULLis.null(x)而不是检查遗漏。

1 个答案:

答案 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