簡體   English   中英

檢查當前是否附有r包

[英]Checking if an r package is currently attached

我的工作流程有問題,因為我在rmarkdown中采購了多個腳本,其中一些需要包dplyr ,其中一些使用plyr

問題是,在rename功能在兩個包是否存在以及dplyr當前連接的rename的功能plyr將無法正常工作。

如何在我的腳本中包含一個檢查是否附加了dplyr的函數,如果是,則將其分離?

我知道如何通過detach("package:dplyr", unload = TRUE)分離包detach("package:dplyr", unload = TRUE) 我不知道的是如何檢查是否附加了包裹。

我同意最好的方法是使用dplyr::renameplyr::rename來明確地調用你想要的函數。

但是,如果您確實想要檢查是否附加了包,然后再使用它進行分離

if("plyr" %in% (.packages())){
  detach("package:plyr", unload=TRUE) 
}

值得注意的是,包本身會警告您按特定順序加載它們。 如果你加載dplyr,那么plyr,你會得到一個警告:

你在dplyr之后加載了plyr - 這可能會導致問題。 如果你需要plyr和dplyr的功能,請首先加載plyr,然后加載dplyr:library(plyr); 庫(dplyr)

我的理解是,如果dplyr的函數被plyr棄用,那么dplyr效果不好,但是由於dplyr從plyr中棄用的函數是有效更新的,所以它們應該很好地運行。 因此,請確保以正確的順序加載它們:

library(plyr)
library(dplyr)

編輯:我重新閱讀你的問題,你的問題是dplyr對plyr函數的棄用,所以我的觀點與你不太相關,對不起。 我會把它留在這里以防其他人需要這些信息,因為它引起了我一段時間的問題:P

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM