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

如何在R语言中为数据框添加列总计?使用dplyr::summarise遇阻求助

给数据框添加总计行的dplyr解决方案

我明白你遇到的问题了——单独用dplyr::summarise只会生成汇总后的单行数据,而不是把总计行追加到原数据框末尾。这里有两种实用的方法来实现你想要的效果:

方法一:用dplyr原生函数组合实现

先构造你的示例数据框:

library(dplyr)

df <- tibble(
  a = c(1, 2, 3),
  b = c(4, 5, 6)
)

然后通过bind_rows把原数据和汇总行合并:

df_with_total <- df %>%
  bind_rows(
    # 生成总计行
    summarise(., 
              a = "Total", 
              b = sum(b))
  )

# 查看结果
df_with_total

运行后会得到你想要的输出:

# A tibble: 4 × 2
  a         b
  <chr> <dbl>
1 1         4
2 2         5
3 3         6
4 Total    15

这里的关键是用bind_rows把原数据框和summarise生成的单行汇总数据拼接在一起,同时把a列的总计标识设为字符串"Total"。

方法二:用janitor包快速实现(更简洁)

如果你不想写太多代码,可以用janitor包的adorn_totals函数,它专门用来给数据框添加总计行/列:

library(janitor)

df %>%
  adorn_totals("row")

这个函数会自动计算数值列的总和,并在第一列添加"Total"标识,输出结果和方法一完全一致,非常适合快速处理这类需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:19:58