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

无法复现R语言dplyr包group_by分组汇总示例结果

问题原因及排查方案

核心原因

你得到的结果与教程预期不符,大概率是你创建的df1数据集和教程中的不一致:

  • 行数差异:你的df1里State列的唯一值只有2个,而教程数据集的State有4个不同取值,group_by(State)后只会生成2个分组,最终summarise得到2行。
  • 列数差异:正常group_by(State) %>% summarise(...)会保留State作为第一列,你只得到1列,可能是代码执行时的异常(比如未正确加载dplyr包导致语法解析错误),或是创建数据集时State列未正确生成。

排查步骤

  1. 验证数据集的State列
    运行以下代码查看df1中State的唯一值数量:

    library(dplyr)
    n_distinct(df1$State)
    unique(df1$State)
    

    如果结果是2,说明你创建的df1没有包含教程里的4个不同State值,需要重新按照教程生成数据集。

  2. 检查代码执行完整性

    • 确认已加载dplyr包:运行library(dplyr),如果提示错误说明未安装,先执行install.packages("dplyr")。
    • 重新完整执行标准代码(以教程示例数据为准):
      # 创建符合教程要求的df1
      df1 <- data.frame(
        State = c("California", "California", "Texas", "Texas", "Florida", "Florida", "New York", "New York"),
        Sales = c(100, 200, 150, 250, 300, 350, 400, 450)
      )
      # 执行分组汇总
      df1 %>% group_by(State) %>% summarise(First_value_sales = first(Sales))
      

    执行后应该得到4行2列的结果:State列包含4个州,First_value_sales列对应每个州的第一个Sales值。

  3. 检查隐性格式问题
    比如State列存在大小写差异(如"california"和"California")、首尾空格(如"Texas "和"Texas"),这些会被当成不同分组或导致分组意外合并。可以用trimws(df1$State)去除空格,tolower(df1$State)统一大小写后再查看唯一值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 21:40:36