是否有方法将用户输入(textInput(存储为稍后在程序中使用的字符向量?假设用户输入是-FB、AAPL、AMZN、NFLX、GOOGL,我希望它们存储为
user_inputs<-c("FB"、"AAPL"、"AMZN"、"NFLX"one_answers"GOOGL"(
很抱歉,我下面的代码刚刚出错。在过去的两个小时里,我一直在努力完成这项工作,任何帮助都将不胜感激!
library(shiny)
ui <- fluidPage(
textInput('vec1', 'Enter a vector (comma delimited)')
verbatimTextOutput("mytxt")
)
server <- function(input, output) {
Output$mytxt <- renderPrint{
for (i in input$vec1){
i
}
}
}
shinyApp(ui, server)
编辑我想在里面使用它。
不幸的是,正如Tim所指出的,您的Shiny代码中存在许多错误,这些错误与将字符串拆分为字符向量无关。特别是,需要用逗号分隔fluidPage
内部的行,output
不应大写,renderPrint等函数应使用()
而不是{}
。
在添加自己的逻辑之前,一定要先将代码作为模板来使用。这使得你更容易找到真正的问题所在
我用蒂姆的回答来拆线。
library(shiny)
ui <- fluidPage(
textInput('vec1', 'Enter a vector (comma delimited)'),
verbatimTextOutput("mytxt")
)
server <- function(input, output) {
output$mytxt <- renderPrint(strsplit(input$vec1, ",\s*")[[1]])
}
shinyApp(ui, server)
只需在CSV输入上使用strsplit
:
input <- "FB, AAPL, AMZN, NFLX, GOOGL"
output <- strsplit(input, ",\s*")[[1]]
output
[1] "FB" "AAPL" "AMZN" "NFLX" "GOOGL"