如何通过URL将多个参数传递给闪亮的应用程序以更新选择输入? [英] how pass multiple parameters to shiny app via URL to updateSelectInput?
本文介绍了如何通过URL将多个参数传递给闪亮的应用程序以更新选择输入?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个代码,用于";global";查询,用于传递多个参数(国家/地区),以通过update SelectInput显示多个绘图
问题是,参数传递只适用于这样的1个参数http://webcovid19.online/?global=Slovakia,还有更多 如下所示的论点 http://webcovid19.online/?global=Slovakia,Czechia看起来传递参数不起作用,出现此错误。美学的长度必须为1或与数据相同(%1):x、y、颜色、标签和组&q;server <- function(input, output, session) {
session$clientData$url_search
observe({
query <- parseQueryString(session$clientData$url_search)
if (!is.null(query[['global']])) {
updateSelectInput(session, "country_input", selected = query[['global']])
updateNavbarPage(session, "mainNavbarPage", selected="COVID 19 Global Stats")
}
})
用户界面
selectInput("country_input", "Countries:",
unique(countries$country),
selected = start_countries,
multiple = TRUE),
国家/地区的DF
head (countries)
country confirmed
1 US 1682183074
2 India 1063726855
3 Brazil 875580392
有什么想法吗? 当我进行调试时,我可以看到这两个参数,但如何传递给我的应用程序? 看起来我必须以某种方式进行分析。
query[['global']]
[1] "Slovakia,Czechia"
str(query[["global"]])
chr "Slovakia,Czechia"
推荐答案
闪亮应用:如何通过url传递多个令牌/参数
通过url传递给闪亮应用的令牌的标准分隔符是&
符号。
应用代码示例:
server <- function(input, output, session) {
observe({
query <- parseQueryString(session$clientData$url_search)
if (!is.null(query[['paramA']])) {
updateTextInput(session, "InputLabel_A", value = query[['paramA']])
}
if (!is.null(query[['paramB']])) {
updateTextInput(session, "InputLabel_A", value = query[['paramB']])
}
})
# ... R code that makes your app produce output ..
}
对应URL示例: http://localhost.com/?paramA=hello&?paramB=world
尽管您的问题似乎是如何从单个传递的参数解析字符串令牌,但不是吗?我还是决定包含这个答案,因为这是谷歌关于如何通过url将多个参数传递给闪亮应用程序的第一个结果,我相信其他人会发现有用的。
这篇关于如何通过URL将多个参数传递给闪亮的应用程序以更新选择输入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文