【问题标题】:Function Default Given as Vector函数默认给定为向量
【发布时间】:2018-05-01 13:40:04
【问题描述】:

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

?base::rank

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

用法:

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

在此示例中,na.last 的默认值为 TRUE。但是,ties.method 的默认值是作为向量给出的。就默认选择哪个而言,这到底意味着什么?而且,更重要的是,为什么要这样写?

谢谢

【问题讨论】:

    标签: r function


    【解决方案1】:

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

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

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

    match.arg 通常在参数的可能选项数量很少到中等时使用。

    【讨论】:

    • 有趣。这就解释了为什么像“成对”这样的东西在 cor() 中起作用。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多