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

如何在gt表格的Total行下方添加自定义标准误汇总行?

关于gt表格添加汇总行与标准误计算的解决方法

完整可运行代码

library(dplyr)
library(gt)

# 原始数据
a <- structure(list(SampleDate = structure(c(15710, 15713, 15713, 
15710, 15710, 15713, 15713, 15710, 15708, 15713, 15712, 15708, 
15708, 15713, 15712, 15708), class = "Date"), year = c("2012", 
"2013", "2013", "2012", "2013", "2013", "2013", "2013", "2013", 
"2012", "2013", "2013", "2013", "2013", "2013", "2013"), F = c(0, 
1, 0, 0, 0, 1, 0, 0, 0, 22, 0, 0, 0, 65, 0, 0), W = c(0, 0, 1, 
0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0), S = c(0, 0, 0, 0, 1, 
0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0), LF = c(1, 0, 0, 1, 0, 0, 0, 
1, 0, 0, 0, 0, 1, 0, 0, 1), week = c("01", "02", "02", "01", 
"01", "02", "02", "01", "01", "02", "02", "01", "01", "02", "02", 
"01"), month = c("January", "January", "January", "January", 
"January", "January", "January", "January", "January", "January", 
"January", "January", "January", "January", "January", "January"
)), row.names = c(NA, -16L), class = "data.frame")

# 数据处理+gt表格构建
a %>%
  group_by(year, SampleDate) %>%
  summarise(
    F = sum(F),
    W = sum(W),
    S = sum(S),
    LF = sum(LF),
    count = n(),
    .groups = "drop"
  ) %>%
  mutate(across(year:SampleDate, as.character)) %>%
  gt() %>%
  # 第一行汇总:Total求和
  summary_rows(
    columns = F:count,
    fns = list(label = "Total", fn = ~sum(., na.rm = TRUE)),
    fmt = ~fmt_number(., decimals = 0)
  ) %>%
  # 第二行汇总:标准误计算(排在Total行下方)
  summary_rows(
    columns = F:LF,
    fns = list(label = "标准误", fn = ~1.96*(sd(., na.rm = TRUE)/sqrt(length(.)))),
    fmt = ~fmt_number(., decimals = 3)
  )

核心要点说明

  1. 添加多行汇总行
    gt支持多次调用summary_rows(),后续调用的汇总行会自动排在之前的汇总行下方。只需先定义Total求和行,再定义标准误行即可实现需求。

  2. 标准误函数的正确传入方式
    summary_rows()的fn参数需要接收公式形式的函数,其中.代表当前列的向量,不能直接写针对特定列的表达式。加入na.rm = TRUE是为了避免空值导致计算出错,提升代码健壮性。

  3. 数据处理优化
    用.groups = "drop"替代单独的ungroup(),是dplyr 1.0.0+版本的规范写法,可直接在summarise()中指定分组处理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:23:26