经过很长时间寻找可能的答案后,我仍然无法从用户输入(特别是 checkboxGroupInput)中创建字符向量。
我的最终目的是将用户选择的条目从 checkboxGroupInput 传递到 python 列表(使用 RPython)以进行进一步处理。但是,即使使用 toString,我也只能做到“逐个字符”而不是整个单词。我已阅读文章Getting multiple checkbox values in Shiny建议双括号索引。实际上,当使用单括号和/或 toString 时,我没有看到结果有任何差异(请参阅 server.r 中注释掉的命令)。在这两种方式中,我最终在 python 中都有变量,比如“L”、“o”、“n”、“d”、“o”、“n”,而不仅仅是“London”。
# server.R
library(shiny)
library(rPython)
copy2 <- function(test) {
python.exec("locations = []")
for (i in 1:length(test)) {
python.assign("temp",toString(test[[i]]))
# python.assign("temp",test[i])
python.exec("locations.extend(temp)")
}
python.exec("print locations")
}
shinyServer(function(input, output) {
output$chosen <- renderPrint({
string <- copy2(input$checkGroup)
})
}
)
# ui.r
library(shiny)
library(rPython)
locations <- c("London", "Paris", "Munich")
shinyUI(pageWithSidebar(
headerPanel(
"Map",
),
sidebarPanel(
checkboxGroupInput("checkGroup",
label = h3("Select Locations:"),
locations,)
),
mainPanel(
h3('Main Panel text'),
p('Selected Locations:'),
verbatimTextOutput("chosen")
)
))
将 R Shiny 对象的内容(从 checkboxGroupInput 中选择的值)简单地传输到 R 向量或 Python 列表中的最佳方法是什么?
谢谢你的建议。