函数默认值为Vector

时间:2018-05-01 13:40:05

标签: r function

在某些功能的帮助文件中,默认值有时以矢量形式给出。一个例子是:

?base::rank

这将打开一个帮助文件,其中显示了用法。

用法:

 rank(x, na.last = TRUE,
      ties.method = c("average", "first", "last", "random", "max", "min"))

在此示例中,na.last的默认值为TRUE。但是,ties.method的默认值是作为向量给出的。这究竟是什么意思默认选择哪个?更重要的是,为什么它首先以这种方式编写?

由于

1 个答案:

答案 0 :(得分:3)

默认值是第一个值。它是这样编写的,因此您可以一目了然地看到所有可能的选项。

在内部,该函数将使用match.arg来评估用户输入并将其与使用的向量匹配。这种匹配是使用pmatch(p代表部分匹配)完成的,因此参数可以缩写。例如,rank(x, "first")可以缩写为rank(x, "f")。有关详细信息,请参阅?match.arg。引用?match.arg说明:

  

match.argargchoices指定的候选值表相匹配,其中NULL表示取第一个。

match.arg通常用于参数的中小数量可能选项。