首页 > 解决方案 > 强制一个命名空间覆盖/优先于另一个而不改变加载顺序?

问题描述

select()属于dplyrMASS命名空间。

关于被调用的内容的歧义select()可以通过以下方式解决

  1. 加载dplyr 加载MASS
  2. 使用dplyr::select而不是简单select

是否有任何其他解决方案,最好是涉及提名图书馆优先于其他解决方案?

额外说明:我知道在 CSS 的世界中,有一个!important属性可以添加到样式中,以便它覆盖其他样式。我想知道 R 中是否存在类似的东西,可以在什么时候调用library(dplyr)

标签: rr-package

解决方案


不确定它是否完全解决了您的问题,但一种选择可能是conflict_prefer()conflicted库中使用。从文档中:

conflict_prefer() 允许您声明冲突的“赢家”。您可以声明一个特定的配对(即 dplyr::filter() 击败 base::filter()),或一个总冠军(即 dplyr::filter() 击败所有来者)。

假设您想使用between()from data.table

conflict_prefer("between", winner = "data.table", quiet = FALSE)

[conflicted] Removing existing preference
[conflicted] Will prefer data.table::between over any other package

推荐阅读