gpt4 book ai didi

r - 在带有空值的 shiny 中使用 observeEvent

转载 作者:行者123 更新时间:2023-12-05 09:12:27 25 4
gpt4 key购买 nike

我正在努力解决一个 react 性的 Shiny 问题,希望得到一些帮助。假设我有一个非常简单的应用程序,它显示给定一系列选择的平均高度:

library(tidyverse)
library(shiny)
library(DT)

df <- data.frame(cat = sample(LETTERS[1:4], 20, replace = T),
city = sample(c("Tokyo", "Madrid", "Paris"), 20, replace = T),
pop = sample(1:7, 20, replace = T),
altitude = sample(10000:15000, 20, replace = F))

ui <- fluidPage(
selectizeInput("cat", "Category:",
choices = c("A", "B", "C", "D"),
multiple = T,
selected = "A"),
selectizeInput("city","City:",
choices = NULL,
multiple = T),
selectizeInput("pop","Population:",
choices = NULL,
multiple = T),
dataTableOutput("table")
)

server <- function(input, output, session) {
observeEvent(input$cat,{
updateSelectInput(session,"city",
choices = df %>% filter(cat == input$cat) %>%
.$city %>% unique,
selected = "")
})
observeEvent(input$city,{
updateSelectInput(session,"pop",
choices = df %>% filter(cat == input$cat & city == input$city) %>%
.$pop %>% unique,
selected = "")
})
output$table <- renderDataTable({
df %>%
filter(cat == input$cat, city == input$city, pop == input$pop %>% as.numeric) %>%
summarise(mean_altitude = mean(altitude))
})
}

# Run the application
shinyApp(ui = ui, server = server)

我将如何修改此代码以允许在某些字段中进行空选择,并让其他选项对此完全 react ?现在,当您从上到下选择每个字段时,它是唯一的 react 。我希望它能够响应空值并且顺序无关紧要。

我可以在查询时使用复杂的案例来做到这一点,但我的实际数据集有大约 10 个不同的输入,并且通过扩展大量不同的组合,所以这样做来处理每一个可能的组合是不可行的。

最佳答案

observeEvent(input$id, {
code
...
}, ignoreNULL = FALSE)



?observeEvent

这对我来说也是最近的发现

关于r - 在带有空值的 shiny 中使用 observeEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58292646/

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