R 选择Input可从下拉列表中全选

R 选择Input可从下拉列表中全选,r,shiny,dplyr,R,Shiny,Dplyr,我有如下选择输入下拉列表: selectInput("locInput", "Location", choices=c("All","New Mexico", "Colorado", "California")) 我想要实现的是使selectInput在默认情况下不按任何内容进行过滤,例如,当选择“All”时,它应该列出所有观察结果(因此来自加利福尼亚、科罗拉多等地) 因此,我试图为这一点创建简单的逻辑: server <- function(input, output) { fil

我有如下
选择输入
下拉列表:

selectInput("locInput", "Location", choices=c("All","New Mexico", "Colorado", "California"))
我想要实现的是使selectInput在默认情况下不按任何内容进行过滤,例如,当选择“All”时,它应该列出所有观察结果(因此来自加利福尼亚、科罗拉多等地) 因此,我试图为这一点创建简单的逻辑:

server <- function(input, output) {
  filtered<-reactive({
    shows %>%
    filter(Length >= input$lenInput[1],
           Length <= input$lenInput[2],
           if (input$locInput != "All"){
           Location==input$locInput
    })
server=input$put[1],

长度您需要一个else条件。令人惊讶的是,如果条件为
TRUE
,则此操作有效,但如果条件为
FALSE
,则
filter
会因条件为空而出错。要解决这个问题,只需添加
else TRUE
,它将不过滤任何行(因为
TRUE
对于所有行都是
TRUE
):


有一个很棒的
shinyWidgets
包,它的
pickerInput

library(shiny)
library(shinyWidgets)

ui <- basicPage(
  sidebarPanel(
    pickerInput("locInput","Location", choices=c("New Mexico", "Colorado", "California"), options = list(`actions-box` = TRUE),multiple = T)
  )
)

server <- function(input, output) {

  observe({
    print(input$locInput)
  })

}

shinyApp (ui = ui, server = server)
库(闪亮)
图书馆(shinyWidgets)
用户界面
library(shiny)
library(shinyWidgets)

ui <- basicPage(
  sidebarPanel(
    pickerInput("locInput","Location", choices=c("New Mexico", "Colorado", "California"), options = list(`actions-box` = TRUE),multiple = T)
  )
)

server <- function(input, output) {

  observe({
    print(input$locInput)
  })

}

shinyApp (ui = ui, server = server)