在某些函数的帮助文件中,默认值有时作为向量给出。一个例子是:
?base::rank
这将打开一个帮助文件,其中显示了用法。
用法:
rank(x, na.last = TRUE,
ties.method = c("average", "first", "last", "random", "max", "min"))
在此示例中,na.last
的默认值为 TRUE
。但是,ties.method
的默认值作为向量给出。这究竟意味着默认选择哪个?而且,更重要的是,为什么首先要这样写?
谢谢
默认值为第一个值。它是这样编写的,以便您可以一目了然地看到所有可能的选项。
在内部,该函数将使用match.arg
来评估用户输入并将其与使用的向量匹配。此匹配是使用 pmatch
(p 表示部分匹配(完成的,因此可以缩写参数。例如,rank(x, "first")
可以缩写为 rank(x, "f")
。有关更多详细信息,请参阅?match.arg
。引用?match.arg
描述:
match.arg
将arg
与choices
指定的候选值表进行匹配,其中NULL
表示采用第一个。
当参数的可能选项数量为中,通常使用match.arg
。