如何从列表中选择R-shiny来选择元素

时间:2014-12-15 19:23:19

标签: r shiny

这似乎应该很容易做到,所以我可能犯了一个简单的错误,但我花了很多时间在这上面却没有任何成功。

我从下拉框中选择一个值,并希望从列表中取回相应的元素。我现在已经将它简化为一些非常简单的代码,但它仍然无法正常工作。我希望得到输出"测试:一个1","测试:两个2"或者"测试:三个3",但只得到"测试:1","测试:2"或"测试3"。

R 3.0.2,shiny_0.10.1

示例:
ui.R

library(shiny)
shinyUI(fluidPage(
  titlePanel("test"),
  sidebarLayout(
    sidebarPanel(      
      selectInput("number", label = h3("Select"), 
              choices = list("First" = 1, "Second" = 2, "Third" = 3), selected = 1)
),
mainPanel(
  textOutput("text1")
))))

Server.R

# server.R
shinyServer(function(input, output) {
  output$text1 <- renderText({
    test<-list("one","two","three")[[input$number]]
    paste("test:",test,input$number)
  })
})

1 个答案:

答案 0 :(得分:1)

您需要重新设定input$number

shinyServer(function(input, output) {
  output$text1 <- renderText({
    test<-list("one","two","three")[[as.integer(input$number)]]
    paste("test:",test,input$number)
  })
})