簡體   English   中英

訪問在Shiny中在renderUI中創建的輸入

[英]accessing inputs created in renderUI in Shiny

我試圖在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)
  })
  ) 
})

通常使用input$foo來檢索具有id foo的輸入窗口小部件的值。 實際上,你也可以使用input[['foo']] ,所以在你的情況下,你只需將id傳遞給input並檢索它們的值,如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM