在 r shiny 中组合两个选择框值

Posted

技术标签:

【中文标题】在 r shiny 中组合两个选择框值【英文标题】:combine two selectbox values in r shiny 【发布时间】:2019-04-27 21:05:48 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

这应该可以,请注意我从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)

【讨论】:

如何将此值放入某个变量中? 该值在名为Combined()的变量中 Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.) 如果您查看 ?reactive ,您会发现它是一个表达式,不能用作值,您可以使用 reactiveValreactivevalues 我仍然遇到同样的错误,我闪亮的应用程序正在关闭

以上是关于在 r shiny 中组合两个选择框值的主要内容,如果未能解决你的问题,请参考以下文章

如何将组合框值与函数一起使用并选择大小写?

根据组合框选择 C# 更改组合框值

根据 R Shiny 中的其他选择动态更新两个 selectInput 框

在 access 2007 中更新组合框值

Datagridview_2 组合框值在 C# 中无效

根据使用 Javascript 选择的组合框动态添加表单字段