You need to enable JavaScript to run this app. gt表格按行条件设置指定列单元格填充色却整列上色的问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

gt表格按行条件设置指定列单元格填充色却整列上色的问题咨询

问题核心原因

该异常和R Markdown环境完全无关,是两处语法错误导致的:

  • 第一处:cells_body() 用于指定行范围的参数名是**rows(复数)**,而非代码中写的row(单数)。你传入的row参数属于gt无法识别的无效参数,所有取值都会被直接忽略,因此无论怎么调整参数值,都无法实现行级筛选,最终默认对目标列的所有行应用填充样式。
  • 第二处:就算修正参数名为rows,直接传入"Paid Per Episode" > 33000的写法也不符合gt的行筛选语法规范,无法正确匹配目标行。
修正后的可运行代码

提供两种适配不同场景的方案:

方案1:预计算符合条件的行号(兼容所有gt版本)

# 基于原始数据筛选出「Paid Per Episode」数值大于33000的行索引
target_row_idx <- which(hip_dt_epsd_table$pd_per_epsd > 33000)

hip_dt_epsd_table %>% 
  rename(
    State = JUR_ST_ABBR_PRIM, 
    Episodes = epsd_count, 
    "Paid Per Episode" = pd_per_epsd, 
    "Episodes Outlier" = epsd_outlier, 
    "Paid Per Episode Outlier" = pd_epsd_outlier, 
    "Episodes 99th Percentile" = epsd_count_99th
  ) %>%
  gt() %>% 
  fmt_currency(columns = vars("Paid Per Episode", "Paid Per Episode Outlier")) %>%
  fmt_number(
    columns = vars("Episodes", "Episodes Outlier", "Episodes 99th Percentile"),
    sep_mark = ",", drop_trailing_zeros = TRUE
  ) %>%
  tab_style(
    style = cell_fill(color = "lightblue"),
    locations = cells_body(
      columns = "Paid Per Episode",
      rows = target_row_idx # 传入预计算的行号
    )
  )

方案2:直接在参数内写筛选表达式(适配gt 0.9.0及以上版本)

hip_dt_epsd_table %>% 
  rename(
    State = JUR_ST_ABBR_PRIM, 
    Episodes = epsd_count, 
    "Paid Per Episode" = pd_per_epsd, 
    "Episodes Outlier" = epsd_outlier, 
    "Paid Per Episode Outlier" = pd_epsd_outlier, 
    "Episodes 99th Percentile" = epsd_count_99th
  ) %>%
  gt() %>% 
  fmt_currency(columns = vars("Paid Per Episode", "Paid Per Episode Outlier")) %>%
  fmt_number(
    columns = vars("Episodes", "Episodes Outlier", "Episodes 99th Percentile"),
    sep_mark = ",", drop_trailing_zeros = TRUE
  ) %>%
  tab_style(
    style = cell_fill(color = "lightblue"),
    locations = cells_body(
      columns = "Paid Per Episode",
      # 用~开头的匿名函数直接引用重命名后的表数据做筛选
      rows = ~.["Paid Per Episode"] > 33000
    )
  )

注意:现有代码中用vars()指定列的写法在所有gt版本中均兼容,无需额外调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 10:15:02