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

R语言中dplyr的group_by()分组求和出现NA的问题排查

分组求和出现NA的解决办法
  • 问题根源:你的weight列里存在缺失值(NA),sum()函数默认只要分组内有一个NA,就会返回NA,哪怕其他值都是有效的。
  • 修正后的代码:给sum()添加na.rm = TRUE参数,忽略缺失值再计算总和:
totals <- db %>% group_by(category) %>% summarise(kilos = sum(weight, na.rm = TRUE))
  • 验证排查:可以先确认缺失值的分布,确认是不是这个原因:
    # 统计整个weight列的缺失值总数
    sum(is.na(db$weight))
    # 按category分组统计每组的缺失值数量
    db %>% group_by(category) %>% summarise(na_weight_count = sum(is.na(weight)))
    
  • 额外排查方向:如果确认weight列没有NA但还是出问题,检查category列是否有“隐形分组”——比如同一个类别名称有前后空格、大小写不一致,看起来是同一类实际被分成了不同组:
    # 查看category的所有唯一值,检查是否有异常
    unique(db$category)
    # 清理category列的空格并统一为小写(按需调整)
    db <- db %>% 
      mutate(
        category = stringr::str_trim(category),
        category = tolower(category)
      )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:30:47