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

Shiny应用添加selectInput过滤器后gt表格无法显示求助

问题排查与解决:Shiny中添加selectInput后gt表格不显示

核心问题及修复步骤

  1. 拼写错误导致初始选中无效
    你在selectInput的selected参数里写了'Aprproved',正确拼写是'Approved'。这个错误会让初始选中值无法匹配数据中的状态,加载时可能直接过滤出空数据集。

  2. 未开启多选模式导致单选项过滤后无结果
    默认selectInput是单选组件,但你的逻辑需要同时选择多个状态(比如Approved和Rejected)才能计算出0到1之间的tasa_rechazada值。必须添加multiple = TRUE参数,否则:

    • 若只选Rejected,所有行的tasa_rechazada都是1,会被filter(tasa_rechazada!= 1 & tasa_rechazada!= 0)过滤掉;
    • 若只选Approved,所有行的tasa_rechazada都是0,同样会被过滤,最终没有数据生成表格。

修复后的selectInput代码

selectInput(
  inputId = "estado_solicitud",
  label = "Seleccione Estado Solicitud:",
  choices = unique(prestamos_complete$Estado.solicitud),
  selected = c('Rejected', 'Approved'), # 修正拼写错误
  multiple = TRUE # 启用多选功能
)

额外优化:处理空结果场景

为了避免用户选择的组合没有符合条件的数据时表格完全消失,可以在生成gt表格前判断数据集是否为空,返回提示信息:

output$gttable1 = render_gt({
  prestamos_complete %>% 
    filter(Estado.solicitud %in% input$estado_solicitud) %>% 
    group_by(Nombre,Cedula, Genero) %>% 
    summarise(tasa_rechazada= sum(Estado.solicitud=='Rejected')/n(),
              total_solicitudes = n()) %>% 
    filter(tasa_rechazada!= 1 & tasa_rechazada!= 0) %>% 
    arrange(desc(total_solicitudes)) %>% 
    ungroup() %>% 
    slice_head(n=10) %>%
    # 判断是否为空数据集
    {if(nrow(.) == 0) {
        gt(tibble(Mensaje = "No hay datos que coincidan con los filtros seleccionados"))
      } else {
        gt(.) %>%
        fmt_percent(columns = tasa_rechazada, decimals = 1) %>% 
        fmt_number(total_solicitudes, decimals = 0) %>% 
        tab_options(table.background.color = '#fdae6b',
                    column_labels.border.top.color = 'black',
                    column_labels.border.bottom.color = 'black',
                    column_labels.border.lr.color = 'black',
                    table_body.hlines.color =  'black')
      }
    }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:00:28