Shiny 中的 selectInput:逗号分隔的输出值

selectInput in Shiny: comma separated output values

在 Shiny selectInput 中进行多项选择时,输出的值没有逗号分隔。当输出值由具有多个单词的值组成时,这会导致问题。

有没有办法将 Shiny 的 selectInput 的值“输出”更改为以逗号分隔?

这是一个 MRE:

library(shiny)

ui <- fluidPage(
  
  selectInput(inputId = "input_select", 
              label = "Input", 
              choices = c("John Doe", 
                          "Johnny D Y", 
                          "Jane Doe", 
                          "XYZ"),
              multiple = TRUE
  ),
  textOutput(outputId = "output_text")
  
)

server <- function(session, input, output){
  
  output$output_text <- renderText({
    
    paste(input$input_select)
  })
  
  
}

shinyApp(ui, server)

选择值“John Doe”、“Johnny D Y”和“Jane Doe”时,我希望文本输出如下所示:“John Doe”、“Johnny D Y”、“Jane Doe”(a向量将这三个名称放在引号中并用逗号分隔)。

我怎样才能做到这一点?

您可以使用collapse参数:

library(shiny)

ui <- fluidPage(
  
  selectInput(inputId = "input_select", 
              label = "Input", 
              choices = c("John Doe", 
                          "Johnny D Y", 
                          "Jane Doe", 
                          "XYZ"),
              multiple = TRUE
  ),
  textOutput(outputId = "output_text")
)

server <- function(session, input, output){
  output$output_text <- renderText({
    paste(dQuote(input$input_select, q = FALSE), collapse = ", ")
  })
}

shinyApp(ui, server)