1

tidyverse加载了一个包 (),它重命名了基本 R 函数 ( filter)。

我正在运行一个基本 R 函数 ( arima.sim),它调用该filter函数并从dplyr::filter.ts.

我可以从复制代码arima.sim并创建arima.sim2,替换filterstats::filter,这解决了问题。但:

  1. dplyr功能dplyr::filter.ts有助于阅读:

    dplyr::filter.ts function (.data, ...) { bad_args(".data", "必须是数据源,不是 ts 对象,你想要stats::filter()吗?") }

除了加载时的警告之外,还有什么应该提醒我注意这个冲突的tidyverse吗?filter因为当我收到这些警告时,我不知道我会运行stats::arima.sim.

  1. 为什么在之前的查找中没有stats::arima.sim找到?包名称空间不应该防止这种事情吗?filterstats namespacedplyr namespace

  2. 除了使用如上所述重新创建基本 R 函数::之外,我可以或应该做些什么来确保基本 R 函数可以找到在其定义中使用的其他基本 R 函数,而不是使用同名函数来自后来安装的软件包?

4

1 回答 1

0

您可以尝试使用新的冲突包。它旨在通过在有任何歧义的情况下强制用户明确来避免此类问题。不确定它是否对您的确切情况有所帮助,我无法重现您描述的行为。

于 2018-11-03T02:25:11.703 回答