【问题标题】:How to have default NULL value in Input & filter data only when non null value?仅当非空值时,如何在输入和过滤数据中具有默认的 NULL 值?
【发布时间】:2021-08-24 16:23:05
【问题描述】:

期望的结果:我正在尝试默认显示/绘制所有数据,默认情况下selectInut中的NULL值仅当在selectInputshiny 应用程序中选择了某些非空输入值时过滤数据。

我发现Force no default selection in selectInput() SO 发布了将 NULL 值 添加到 SelectInput 的帖子,但到目前为止它只对我部分起作用。

问题:它仅在我选择一些非 nulll 值时才有效,否则会产生空白输出(似乎 if else 此处的失败可能是由于 reactive() 函数,但我不知道为什么会这样)。


代码如下:

ui

selectInput(inputId = "vaccine_center_state_select",
                         label = "Select State to narrow your search", 
                         choices = c("",unique(vacc_centers$state))
                         ,selected = NULL 
                         ,multiple = FALSE
             ),

服务器:

filtered_vaccine_centers <- reactive({
    
    req(input$vaccine_center_state_select)
    
    if(!is.null(input$vaccine_center_state_select))
        
        {
            filtered_vaccine_centers <- vacc_centers %>% 
            filter(state == input$vaccine_center_state_select)
        
        }
    else filtered_vaccine_centers <- vacc_centers
        
    
    }) %>% 
        bindCache(input$vaccine_center_state_select)

【问题讨论】:

  • @Vineet,一个友好的建议,在印度使用未经批准的地图是非法的,并且会受到处罚。阅读Section 79(3)(b) of IT Act of India。其次,我记得你几天前发布了一个 xml 数据提取问题。解决了吗?
  • 感谢@AnilGoyal 感谢您的建议和帮助,从我在SO 上发布关于最新正确的印度地图可用性来源 以及最近(昨天和今天) ) 我必须了解正确的地图来源,并且今晚将使用正确的印度地图进行更新。这是我的正确地图请求的帖子,最后我已经为其他所有人回答了:stackoverflow.com/questions/67847391/…
  • @AnilGoyal,感谢upvote,已经在使用最新地图更新我的代码

标签: r shiny


【解决方案1】:

当我做了几处更改时它起作用了..不确定哪一个是因素

  1. 而不是 null 使用其他文本,即“未选择状态”并对其应用条件:
  2. 将数据框名称 filtered_vaccine_center 更改为 filtered_vaccine

ui

selectInput(inputId = "vaccine_center_state_select",
                         label = "Select State to narrow your search", 
                         choices = c("No State selected",unique(vacc_centers$state))
                         ,selected = "No State selected" 
                         ,multiple = FALSE
             ),

服务器:

filtered_vaccine_centers <- reactive({
    
    req(input$vaccine_center_state_select)
    
    if(input$vaccine_center_state_select != "No State selected")
        
        {
            filtered_vaccine <- vacc_centers %>% 
                                filter(state == input$vaccine_center_state_select)
        
        }
    else filtered_vaccine <- vacc_centers
        
    
    }) %>% 
        bindCache(input$vaccine_center_state_select)

不使用国家地图坐标的纬度、长轴上的疫苗接种中心点

输出

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 2014-11-19
    • 2022-12-13
    • 2010-09-18
    • 1970-01-01
    • 2022-08-21
    相关资源
    最近更新 更多