summarise(n=n()) 即使未加载 plyr 也返回"Evaluation error: This function should not be called directly."



我删除plyr,加载dplyr并检查当前包

detach("package:plyr", unload=TRUE)
library(dplyr)
(.packages())

[1]"dplyr"bindrcpp"stats"graphics"grDevices"utils"datasets">
[8]"methods"base">

有关信息,请参阅以下冲突:

conflicts()

[1]"filter"lag"body<-"intersect"kronecker"setdiff"setequal">
[8]"union">

然后我使用summary并得到错误。这是我6个月前使用的相同代码,没有问题。

by_vs_am <- group_by(mtcars, vs, am)
by_vs <- summarise(by_vs_am, n = n())

summary_impl(.data,dots(中的错误:评估错误:此函数不应直接调用。

请尝试使用dplyr::n()。代码应该是这样的:

by_vs_am <- group_by(mtcars, vs, am)
by_vs <- summarise(by_vs_am, n = dplyr::n())

正如其他人所提到的,这与冲突有关。查看加载的程序包及其依赖关系可能会有所帮助。对我来说,这是XML库,所以我运行detach("package:XML", unload = TRUE)来修复它

最新更新