测试用例:
library(dplyr)
library(plyr)
library(dplyr)
mtcars%>%rename(x=gear)
这会导致错误。非常感谢您的帮助。
根据@hadley的推文,最佳答案是在加载dplyr之前始终加载plyr,并且不要再次加载plyr。以下是他的推文:
Hadley Wickham @hadleywickham Jul 27
@gunapemmaraju just load plyr before dplyr?
而不是再次加载dplyr
。 - Brian Wileyif("dplyr" %in% (.packages())){
detach("package:dplyr", unload=TRUE)
detach("package:plyr", unload=TRUE)
}
library(plyr)
library(dplyr)
dplyr
之后加载了plyr
,你也可以使用dplyr::rename
来调用dplyr
的重命名函数,如mtcars %>% dplyr::rename(x=gear)
。然而,一般来说最好先加载plyr
再加载dplyr
(假设你想要使用两个包中的函数),因为dplyr
更快。或者,如果你想要使用dplyr
遮盖的某个特定的plyr
函数,你只需加载dplyr
,然后使用例如plyr::rename
的方式进行调用。 - eipi10detach()
永远不是一个好主意。 - hadley