【问题标题】:accessing inputs created in renderUI in Shiny在 Shiny 中访问在 renderUI 中创建的输入
【发布时间】:2014-05-16 22:16:40
【问题描述】:

我正在尝试在 Shiny 服务器上的应用程序中使用一些动态 gui 活动。我的应用程序需要创建可变数量的滑块,具体取决于输入到我的应用程序中的数据。具体来说,我正在尝试创建设置一个值的滑块,一个用于输入数据表中的每个唯一类别的滑块。我能够使用渲染 UI 成功读取我的输入表并创建滑块,但我被困在如何最好地操纵滑块设置的可变数量的已创建输入值 - 我该如何访问它们(作为列表,最好?)感谢任何建议或指示。我的代码 sn-p 如下。

output$sliders <- renderUI({

# if we don't need the sliders, return
if (input$unequalpts == "no")
  return(NULL)
# go to panel where sliders are to appear
updateTabsetPanel(session, "inTabSet", selected = "Unequal")
# get the number of unique entries the field f interest to create sliders for
theDATA <- myData()
theFields <- unique(as.character(theDATA$shnystr))

return  (
    lapply(1:numstrata, function(i) {
      sliderInput(inputId = paste0("strata", i), label = paste("strata ", theFields[i]),
                min = 0, max = 100, value = c(0, 100), step = 1)
  })
  ) 
})

【问题讨论】:

    标签: r dynamic shiny


    【解决方案1】:

    通常使用input$foo 来检索ID 为foo 的输入小部件的值。事实上,您也可以使用input[['foo']],所以在您的情况下,您只需将 id 传递给input 并像这样检索它们的值:

    lapply(1:numstrata, function(i) {
      input[[paste0("strata", i)]]
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-01
      • 2015-10-12
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 2018-08-11
      相关资源
      最近更新 更多