在R中,如何对函数的参数使用"null"默认值?

tfl*_*tre 10 r default-value

这是我目前的代码:

my.function <- function( my.arg="" ){
  if(my.arg == "")
    my.arg <- rnorm(10)
  return( mean(my.arg) )
}
Run Code Online (Sandbox Code Playgroud)

它告诉我这个:

> my.function( rbinom(10, 100, 0.2) )
[1] 18.5
Warning message:
In if (a == "") a <- rnorm(10) :
  the condition has length > 1 and only the first element will be used
Run Code Online (Sandbox Code Playgroud)

我尝试过my.arg=c(),或者my.arg=0,但我总是得到警告或错误.R手册在这个问题上没有说太多.

任何的想法?提前致谢!

Kar*_* W. 19

尝试

my.function <- function( my.arg=NULL ){
 if(is.null(my.arg)) ...
Run Code Online (Sandbox Code Playgroud)


Aar*_*ica 11

还有missing:

my.function <- function(my.arg) {
  if(missing(my.arg)) ...
Run Code Online (Sandbox Code Playgroud)