多个选择输入的过去文本(R;有光泽)

时间:2018-07-13 04:30:04

标签: r shiny

我正在开发一个闪亮的应用程序,并在下面创建了我的问题的简化版本。我几乎想要输入不同选项(A,B,C,D)的选择,并且当选择了这些选项中的任何一个或全部时,将打印出不同的文本。目前,如果我选择所有选项,则只会发布“您的Idael价值”。

IOException

library(shiny) 
shinyServer( function(input, output) {
  output$whatever<-renderText( {
    if( input$test=="a") {
      ("Your ideal A value is")
    }
    else if (input$test=="b") {
      ("Your ideal B value is:")
    }
    else if (input$test=="c") {
      ("Your ideal C value is:")
    }
    else if(input$test=="D") {
      ("Your idea D value is:")
    }
  }
  )
}

)

2 个答案:

答案 0 :(得分:0)

if语句在遇到valide语句后立即停止。

这里不需要if,您可以简单地将输入值粘贴在一起:

library(shiny) 
server <- shinyServer( function(input, output) {
  output$whatever<-renderText( {
    vals <- paste(input$test, collapse = " ")
    paste("Your ideal(s) value(s) are", vals)

  }
  )
}

)

ui <- shinyUI(fluidPage(
  headerPanel(title="pratice"),
  sidebarLayout(
    sidebarPanel(
      selectInput("test",label="Test",multiple = TRUE, 
                  choices=list("a","b","c","d"), 
      )),
    mainPanel(
      textOutput("whatever")
    )
  )
)
)

shinyApp(ui, server)

答案 1 :(得分:0)

您可以使用:

 selectizeInput(inputId, label, choices, selected = NULL, multiple = FALSE,
           options = NULL) ## and switch multiple to True