Vector input in shiny R and then use it

前端 未结 2 562
野性不改
野性不改 2021-02-04 13:11

In Shiny R, I want a simple way to take a vector as user input in ui.R and then want to use that in a function in server.R.I am new in shiny, please help.

2条回答
  •  太阳男子
    2021-02-04 13:44

    I am aware this is an old post but I have come across an alternative way for a user to enter a vector as Shiny input - using the create = TRUE and multiple = TRUE options with selectizeInput(). Slightly modifying Mike Wise's code example from above:

    library(shiny)
    
    ui <- shinyUI(
    
      pageWithSidebar(
    
        headerPanel("Entering Vectors in Shiny")
    
        , sidebarPanel(
    
          selectizeInput(
            "vec1"
            , "Enter a vector"
            , choices = NULL
            , multiple = TRUE
            , options = list(create = TRUE)
          )
    
        ),
    
        mainPanel(
    
          h4("You entered")
    
          , verbatimTextOutput("oid1")
    
          , verbatimTextOutput("oid2")
    
        )
    
      )
    )
    
    server <- shinyServer(function(input, output) {
    
      output$oid1 <- renderPrint({
    
        req(input$vec1)
    
        cat("As string:\n")
        cat(input$vec1)
    
      })
    
      output$oid2 <- renderPrint({
    
        req(input$vec1)
    
        cat("As atomic vector:\n")
        print(as.numeric(input$vec1))
    
      })
    
    })
    
    shinyApp(ui = ui, server = server)
    


提交回复
热议问题