RStudio 中的包冲突,detach() 无法工作

Conflict of Packages in RStudio, detach() fails to work

我目前正在对 R 中找到的 'birthwt' 数据集进行逻辑回归。此数据位于包 'MASS'.

但是,当我使用 library(MASS) 检索数据时,它屏蔽了 dplyr 包中 select() 的功能。我几乎立即在我的分析中使用了这个函数。

加载数据后,我尝试
detach("package:MASS", unload = TRUE)

但我遇到了
‘MASS’ namespace cannot be unloaded: namespace ‘MASS’ is imported by ‘pbkrtest’, ‘car’, ‘lme4’ so cannot be unloaded

我真的很想解决这个问题,因为我已经完成了所有必要的数据分析,但是在尝试编织时遇到了这个问题。

提前感谢您的帮助!

你不应该选择unload = TRUE。默认是unload = FALSE,这就是你需要的。

解释如下:

在 R 中,包可以是 "loaded",这使得它们可用于从它们导入函数的其他包。它们也可以是 "attached",这会将它们放在搜索列表中,以便用户可以在控制台中使用它们。如果附加了包,则需要加载,反之则不然。

所以如果你运行detach("package:MASS"),你会把它从搜索列表中移除,并且在控制台中,运行宁select()将不再找到该功能在质量。它仍将被加载,因此可供其他需要它的包使用。

顺便说一下,使用前缀形式 MASS::select()dplyr::select() 将有效,无论其中一个或两个包是否在您的搜索列表中。