【发布时间】:2015-04-10 21:42:31
【问题描述】:
有一条关于 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) 而不是检查缺失。
【问题讨论】:
-
您能详细说明您为什么要这样做吗?我想这是因为你试图将它传递给另一个你想要的默认函数,所以你希望它丢失(否则,如果你只是在函数体中使用它,你只需这样做:isMissing = missing(x),并始终使用该标志。如果您想在后续调用中使用默认值,那么您可能需要使用 args() 等函数手动设置调用
-
我没有看到任何上下文可以证明在生产代码中使用
make_missing(x)而不是x <- NULL是合理的。但是我有一些代码要处理,它很长,并且有多个missing(x)检查,不将所有这些检查更新为is.null(x)只是为了测试一些新东西会很方便。 -
或许你可以使用
x <- substitute():f = function(x) { x = substitute(); missing(x) }; f(5) -
@alexis_laz 这么简单!它似乎有效,将其发布为答案,以便我接受。谢谢
标签: r