r - 强制一个命名空间覆盖/优先于另一个而不改变加载顺序?
问题描述
select()
属于dplyr
和MASS
命名空间。
关于被调用的内容的歧义select()
可以通过以下方式解决
- 加载
dplyr
后加载MASS
- 使用
dplyr::select
而不是简单select
是否有任何其他解决方案,最好是涉及提名图书馆优先于其他解决方案?
额外说明:我知道在 CSS 的世界中,有一个!important
属性可以添加到样式中,以便它覆盖其他样式。我想知道 R 中是否存在类似的东西,可以在什么时候调用library(dplyr)
。
解决方案
不确定它是否完全解决了您的问题,但一种选择可能是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