将用户输入保存为 R 中的字符向量

Save user inputs as a character vector in R

有没有办法将用户输入 (textInput) 存储为字符向量,以便稍后在程序中使用?假设用户输入是 - FB、AAPL、AMZN、NFLX、GOOGL - 我希望将它们存储为

user_inputs <- c("FB", "AAPL", "AMZN", "NFLX", "GOOGL")

抱歉,我下面的代码出错了。在过去的 2 个小时里,我一直在努力完成这项工作,我们将不胜感激任何帮助!

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)

编辑我想在闪亮的内部使用它。

只需在 CSV 输入上使用 strsplit

input <- "FB, AAPL, AMZN, NFLX, GOOGL"
output <- strsplit(input, ",\s*")[[1]]
output

[1] "FB"    "AAPL"  "AMZN"  "NFLX"  "GOOGL"

不幸的是,正如 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)