【问题标题】:how pass multiple parameters to shiny app via URL to updateSelectInput?如何通过 URL 将多个参数传递给闪亮的应用程序以 updateSelectInput?
【发布时间】:2021-04-07 18:27:39
【问题描述】:

我有此代码用于“全局”查询,用于传递多个参数(国家/地区)以通过 updateSelectInput 显示多个绘图

我的项目http://webcovid19.online

问题是参数传递仅适用于像 http://webcovid19.online/?global=Slovakia 这样的 1 个参数,还有更多 如下参数 http://webcovid19.online/?global=Slovakia,Czechia 看起来传递参数不起作用,出现此错误。 “美学必须是长度1或与数据相同(1):x,y,颜色,标签和组”

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"

【问题讨论】:

标签: r shiny shinydashboard shiny-server


【解决方案1】:

Shiny App:如何通过 URL 传递多个令牌/参数

通过 url 传递给闪亮应用的令牌的标准分隔符是 &amp; 符号。

闪亮的应用代码示例:

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 ..
}

对应的网址示例: http://localhost.com/?paramA=hello&?paramB=world

参考:parseQueryString Docs

虽然您的问题似乎是如何从单个传递的参数中解析字符串标记,不是吗?无论如何决定包括这个答案,因为这是谷歌关于如何通过 url 将多个参数传递给闪亮应用程序的第一个结果,我相信其他人会发现有用。

【讨论】:

  • 嗨,谢谢您的信息,是的,我的问题是如何从单个传递的参数中解析字符串标记,我用这个提示解决了这个问题:如何拆分逗号:stackoverflow.com/questions/43877172/…
猜你喜欢
  • 2015-12-28
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 2015-11-17
  • 1970-01-01
  • 2016-02-21
  • 2019-08-26
相关资源
最近更新 更多