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()
将有效,无论其中一个或两个包是否在您的搜索列表中。
我目前正在对 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()
将有效,无论其中一个或两个包是否在您的搜索列表中。