小编joe*_*ley的帖子

何时使用missing和NULL值在R中传递未定义的函数参数,为什么?

到目前为止,在编写R函数时,我将未定义的参数作为NULL值传递,然后测试它们是否为NULL即

f1 <- function (x = NULL) {
   if(is.null(x))
      ...
}
Run Code Online (Sandbox Code Playgroud)

但是我最近发现了将未定义的参数传递为缺失的可能性

f2 <- function (x) {
   if(missing(x))
      ...
}
Run Code Online (Sandbox Code Playgroud)

R文件说明了这一点

当前缺失只能在定义参数的函数的直接主体中使用,而不能在嵌套函数或本地调用的主体中使用.这可能在将来发生变化.

显然,这是使用缺失来确定未定义值的一个缺点是否有其他人或意识到?或者以更有用的形式表达问题"你何时使用缺失与NULL值来传递R中未定义的函数参数?为什么?"

null r function parameter-passing

8
推荐指数
2
解决办法
1427
查看次数

标签 统计

function ×1

null ×1

parameter-passing ×1

r ×1