将用户输入保存为 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)
有没有办法将用户输入 (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)