gpt4 book ai didi

r - Shiny Dashboard 中的数据抑制

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:33 24 4
gpt4 key购买 nike

我对使用 R 还很陌生,更不用说 Shiny 的仪表板了,但我有一个项目需要使用它。我想要完成的是某种抑制输出中特定数量结果的方法。我目前有一个仪表板,其中有几个用于过滤表结果的 selectInputs。例如,用户可以按特定的县、年龄组和性别进行过滤,并会收到一个包含所有这些结果的表格。假设用户这样做并收到不到 30 个结果,这是我需要仪表板响应而不提供结果的地方,甚至可能向用户提示(我会满足于数据抑制)。

我正在使用的数据库非常大,在这方面进行抑制最终会降低整体数据质量。我的想法是我需要服务器端的一些东西,基本上说当过滤结果> 30 时不显示。

如果需要进一步说明,请告诉我,对于缺乏 R 知识,我提前表示歉意。

谢谢!

最佳答案

在你的server ,您正在生成类似于以下内容的输出表:

output$table <- renderDataTable({ df %>% filter(var1 == "input$var1" & 
var2 == "input$var2") })

并且你需要在ui中返回错误信息nrow(output$table) < 30 的事件.

所以我建议使用 ifelse在您的服务器和用户界面中处理每一种情况。像这样的东西:

服务器

table_react <- reactive({ 
temp <- df %>% filter(var1 == "input$var1" &
var2 == "input$var2")
ifelse(nrow(temp) >= 30, temp, NULL) })

output$table <- renderDataTable({ table_react() })

界面

ifelse(table_react() == NULL,
textOutput("Your selections result in a table with < 30 entries. Please try again."),
dataTableOutput("table"))

关于r - Shiny Dashboard 中的数据抑制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52229814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com