为函数/包 R 设置默认值

Gab*_*dez 3 default r function package

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

example.foo("directory",vA1,vA2)
Run Code Online (Sandbox Code Playgroud)

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

  if (!exists("vA1")) {
    vA1 = 2
  }
Run Code Online (Sandbox Code Playgroud)

2 是 vA1 的默认值。当我运行包时,我得到一个“参数“vA1”丢失,没有默认值”。如何设置此功能的默认值?谢谢!

cof*_*nky 7

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

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

 fun()
 [1] "Hello World"

 fun("and good bye")
 [1] "and good bye"
Run Code Online (Sandbox Code Playgroud)