结合两个闪亮的选择框值

时间:2018-11-26 08:45:15

标签: r select shiny concatenation selectinput

我需要在R Shiny中组合两个选择框值。 选择框1有年份,选择框2有月份。

如果用户选择2018和06,我应该将2018-06放入变量。

我尝试了paste(input$year,input$month,sep="-"),但是它不起作用。

1 个答案:

答案 0 :(得分:3)

这应该做,请注意,我从reative更改为reactiveValues,因为我认为这对于您来说更直观,您可以在其中使用包含您想要的内容的v$value。建议您通读https://shiny.rstudio.com/articles/reactivity-overview.html,以便更好地了解正在发生的事情

library(shiny)

ui <- fluidPage(
  textOutput("value"),
  selectInput("year","year",choices = c(2017,2018),selected = 1),
  selectInput("month","month",choices = c(1:12),selected = 1)

)

server <- function( session,input, output) {

  v <- reactiveValues(value=NULL)

  observe({
    year <- input$year
    month <- input$month
    if(nchar(month)==1){
      month <- paste0("0",month)
    }
    v$value <- paste(year,month,sep="-")
  })

  output$value <- renderText({
    v$value
  })
}

shinyApp(ui, server)