объединить два значения в поле выбора - PullRequest
0 голосов
/ 26 ноября 2018

Мне нужно объединить два значения блока выбора в R блестящий.У поля 1 есть год, у поля 2 - месяц.

Если пользователь выберет 2018 и 06, я должен получить 2018-06 в переменную.

Я пытался paste(input$year,input$month,sep="-") Но это не такрабочий.

1 Ответ

0 голосов
/ 26 ноября 2018

Это следует сделать, обратите внимание, что я изменил с 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...