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

如何在tibble表格底部添加列值求和汇总行(替代bind_rows法)

在R tibble中添加汇总行的更优方法

方法1:使用janitor包的adorn_totals()(最简洁)

janitor包的adorn_totals()是专门为这类需求设计的,一行代码就能完成,无需手动计算汇总再合并:

先安装并加载依赖包:

install.packages("janitor")
library(janitor)
library(tibble)

# 模拟你的原始数据
df <- tibble(
  compound = c("A", "B", "C"),
  `2023` = c(211, 6410, 2598),
  `2024` = c(306, 9132, 3764),
  `2025` = c(427, 12664, 5250),
  `2026` = c(548, 16187, 6735),
  `2027` = c(631, 18668, 7760)
)

# 一键添加汇总行
df %>% adorn_totals("row", name = "total")

运行后会自动识别数值列计算总和,非数值列(如compound)填充指定的"total",直接得到你要的结果。

方法2:dplyr原生方法(无需额外包)

如果不想安装新包,用dplyr的链式语法也能实现,代码紧凑且风格统一:

library(dplyr)

df %>%
  add_row(
    compound = "total",
    across(`2023`:`2027`, sum)
  )

这里across()指定需要计算总和的列范围,列数越多,越能体现这种写法的高效性,避免手动逐个列写sum()。

对比bind_rows()的优势

  • 无需单独生成汇总表再合并,代码逻辑更连贯,行数更少
  • janitor的方法会自动处理列类型,避免手动合并可能出现的类型错误
  • dplyr原生写法贴合tidyverse生态,和现有数据处理流程更兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:45:47