我正在尝试在Shiny服务器上的应用程序中使用一些动态gui活动。我的应用程序需要创建可变数量的滑块,具体取决于输入到我的应用程序中的数据。具体来说,我正在尝试创建一个为输入数据表中的每个唯一类别设置一个值的滑块。我能够使用渲染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)
})
)
})
答案 0 :(得分:3)
通常使用input$foo
来检索具有标识foo
的输入窗口小部件的值。事实上,您也可以使用input[['foo']]
,因此在您的情况下,您只需将ID传递给input
并检索其值,如下所示:
lapply(1:numstrata, function(i) {
input[[paste0("strata", i)]]
})