为函数/包设置默认值R

3

我制作了一个包含一个函数的软件包,该函数会要求输入3个值,就像这样:

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

现在,我想为vA1和vA2设置默认值。我写了下面这段代码,但不知道为什么它不起作用。
  if (!exists("vA1")) {
    vA1 = 2
  }

默认情况下,vA1的值为2。当我运行软件包时,出现“缺少参数“vA1”,无默认值”的错误。我该如何设置此函数的默认值?谢谢!


5
你应该(重新)阅读这篇文章:命名参数和默认值 - user3710546
谢谢,我只是不知道如何查找它。 - Gabriel Hernandez
1个回答

8
正如Pascal指出的那样,默认函数可以通过提供命名参数来实现。例如:
 fun <- function(x="Hello World") print(x)

 fun()
 [1] "Hello World"

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

谢谢,我只是不知道如何查找它。 - Gabriel Hernandez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接