[英]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 = TRUE
和multiple = 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.