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

GT 0.9.0中summary_rows函数报错及无汇总行问题求助

gt 0.9.0 中 summary_rows() 适配旧代码的解决方案

核心问题适配要点

  • 无数据分组时,禁止使用everything()或省略groups参数,直接设置groups = NULL,这是gt 0.9.0的参数要求,可避免"everything()必须在选择函数内使用"的报错。
  • 汇总行不显示的核心原因:未明确指定目标列,或自定义汇总函数的格式不符合新版本要求。

正确代码示例

library(gt)

# 示例数据(替换为你的实际数据)
sample_data <- mtcars[1:6, c("mpg", "hp", "wt")]

# 自定义汇总函数:计算非零值的中位数(替换为你的fns_labels_exc0逻辑)
fns_labels_exc0 <- function(x) {
  median(x[x != 0], na.rm = TRUE)
}

# 构建带汇总行的gt表格
final_table <- gt(sample_data) %>%
  summary_rows(
    groups = NULL,          # 无分组时必须设为NULL
    columns = c(mpg, hp),   # 指定需要汇总的特定列
    fns = list(
      "非零中位数" = fns_labels_exc0  # 命名列表绑定函数与标签
    ),
    formatter = fmt_number, # 可选:设置汇总值的格式
    decimals = 1
  )

final_table

关键注意事项

  • 自定义汇总函数必须接收向量输入,返回单个标量值,不能返回向量或其他非标量类型。
  • 若需要添加多个汇总规则,在fns的命名列表中新增条目即可,比如list("均值" = mean, "非零中位数" = fns_labels_exc0)。
  • 旧代码中若有groups = everything(),直接替换为groups = NULL即可适配新版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:48:14