You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

dplyr中summarise配合group_by对因子列分组失效无法正确汇总的问题

dplyr group_by结合summarise分组失效解决方案

问题原因

该问题的核心诱因是环境中存在同名函数冲突:同时加载了plyr和dplyr两个包时,plyr::summarise()会覆盖dplyr::summarise(),而plyr的汇总函数不识别dplyr的group_by()生成的分组标记,只会将整个数据集作为单一组计算聚合结果。

解决方案

你可以任选以下任意一种方法解决问题:

  • 调用函数时明确指定dplyr包名,避免同名函数冲突
data %>% 
  dplyr::group_by(brand) %>% 
  dplyr::summarise(SUM = sum(variable))

运行后即可得到预期的分组汇总结果:

# A tibble: 2 × 2
  brand      SUM
  <fct>    <dbl>
1 BMW        132
2 Mercedes    63
  • 调整包加载顺序,加载plyr后再加载dplyr,让dplyr的同名函数覆盖plyr的函数
library(plyr)
library(dplyr)
  • 不需要使用plyr功能时,直接从当前环境卸载plyr包
detach("package:plyr", unload = TRUE)

问题排查

如果执行上述操作后问题仍然存在,可以运行find("summarise")查看当前调用的summarise函数所属的包,正常情况下返回结果的第一条应该是"package:dplyr"。

内容的提问来源于stack exchange,提问作者Valen78

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:18:03