【问题标题】:Conflict of Packages in RStudio, detach() fails to workRStudio中的包冲突,分离()无法工作
【发布时间】:2018-01-07 10:28:58
【问题描述】:

我目前正在对 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

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

提前感谢您的帮助!

【问题讨论】:

    标签: r packages detach


    【解决方案1】:

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

    解释如下:

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

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

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

    【讨论】:

    • 感谢您的回复!我试过dplyr::select() 并且工作得很好!
    猜你喜欢
    • 2011-11-05
    • 1970-01-01
    • 2021-02-01
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多