将默认值设置为 function/package R

Setting default values to a function/package R

我制作了一个包含要求 3 个值的函数的程序包,如下所示:

example.foo("directory",vA1,vA2)

现在,我想为 vA1 和 vA2 设置默认值。我写了下面的一段代码,但我不知道为什么它不起作用

  if (!exists("vA1")) {
    vA1 = 2
  }

2 是 vA1 的默认值。当我 运行 包裹时,我得到一个 "argument "vA1" missing, with no default"。如何设置此功能的默认值?谢谢!

正如 Pascal 指出的那样,函数的默认值是通过提供命名参数来提供的。例如:

 fun <- function(x="Hello World") print(x)

 fun()
 [1] "Hello World"

 fun("and good bye")
 [1] "and good bye"