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

为何gt表格仅显示2列且数值列隔行缺失?原数据框含3列

问题原因及解决办法

核心原因

你的数据框Validation_Means_1是分组数据框(grouped_df),从dput输出的class = c("grouped_df", "tbl_df", "tbl", "data.frame")可以确认,且分组依据是Name列(每个Name单独成组,每组仅1行)。

gt包对分组数据框的默认渲染逻辑是:

  • 将分组列(这里是Name)作为表格的行分组标题隐藏在左侧,而非作为常规列显示,所以你看不到Name列;
  • 分组标题会占据单独的行,导致数值列的内容看起来像是"隔行显示"。

解决办法

在调用gt()之前,先用ungroup()取消数据框的分组状态,让所有列都以常规列的形式渲染:

Validation_Summary_Table <- Validation_Means_1 %>%
  ungroup() %>%  # 新增取消分组的步骤
  select("Name", "Source", "Average Disease Severity") %>%
  gt() %>%
  tab_spanner(
    label = "Accession Information",
    columns = c("Name", "Source")
  ) %>%
  cols_label(
    Name = "Name",
    Source = "Source",
    `Average Disease Severity`= "Average Disease Severity"
  ) 
print(Validation_Summary_Table)

补充说明

如果后续需要保留分组进行其他操作,也可以在生成gt表格时,通过gt(groupname_col = NULL)强制不使用分组列作为行标题,但最直接的方式还是先取消分组,避免不必要的渲染逻辑干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:50:26