简体   繁体   English

矢量输入闪亮的R然后使用它

[英]Vector input in shiny R and then use it

在Shiny R中,我想要一个简单的方法将一个向量作为ui.R中的用户输入,然后想在服务器中的一个函数中使用它。我是新的有光泽,请帮忙。

Here is something simple to get you started - good luck. 这里有一些简单的东西让你入门 - 祝你好运。 And remember - next time post some code or you will surely get downvoted: 请记住 - 下次发布一些代码或者你肯定会被投票:

library(shiny)

u <- shinyUI(pageWithSidebar(

  headerPanel("Entering Vectors in Shiny"),
  sidebarPanel(
    textInput('vec1', 'Enter a vector (comma delimited)', "0,1,2")
  ),

  mainPanel(
    h4('You entered'),
    verbatimTextOutput("oid1"),
    verbatimTextOutput("oid2")
  )
))

s <- shinyServer(function(input, output) {

  output$oid1 <- renderPrint({
    cat("As string:\n")
    cat(input$vec1)
    }
    )

  output$oid2<-renderPrint({
    x <- as.numeric(unlist(strsplit(input$vec1,",")))
    cat("As atomic vector:\n")
    print(x)
  }
  )
}
)
shinyApp(ui = u, server = s)

Yielding: 产量:

在此输入图像描述

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() . 我知道这是一个老帖子,但我遇到了另一种方式让用户输入一个矢量作为Shiny输入 - 使用selectizeInput()使用create = TRUEmultiple = TRUE选项。 Slightly modifying Mike Wise's code example from above: 从上面稍微修改Mike Wise的代码示例:

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)

在此输入图像描述


在此输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM