访问在renderUI中创建的输入

访问在renderUI中创建的输入,r,dynamic,shiny,R,Dynamic,Shiny,我试图在Shining server上的应用程序中利用一些动态gui活动。我的应用程序需要创建数量可变的滑块,具体取决于输入到我的应用程序中的数据。具体地说,我试图创建一个滑块来设置一个值,为输入数据表中的每个唯一类别设置一个值。我能够使用render UI成功地读取输入表并创建滑块,但我一直在思考如何最好地操作滑块设置的可变数量的已创建输入值-我如何访问它们(最好是列表?)感谢任何建议或指针。下面是我的代码片段 output$sliders <- renderUI({ # if we

我试图在Shining server上的应用程序中利用一些动态gui活动。我的应用程序需要创建数量可变的滑块,具体取决于输入到我的应用程序中的数据。具体地说,我试图创建一个滑块来设置一个值,为输入数据表中的每个唯一类别设置一个值。我能够使用render UI成功地读取输入表并创建滑块,但我一直在思考如何最好地操作滑块设置的可变数量的已创建输入值-我如何访问它们(最好是列表?)感谢任何建议或指针。下面是我的代码片段

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

output$sliders通常使用
input$foo
检索id为
foo
的输入小部件的值。事实上,您也可以使用
input[['foo']]
,因此在您的情况下,您只需将id传递给
input
,并按如下方式检索它们的值:

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