我需要在R Shiny中组合两个选择框值。 选择框1有年份,选择框2有月份。
如果用户选择2018和06,我应该将2018-06放入变量。
我尝试了paste(input$year,input$month,sep="-")
,但是它不起作用。
答案 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)