如何观察在R中批量创建的单个输入元素

如何观察在R中批量创建的单个输入元素,r,shiny,shiny-server,R,Shiny,Shiny Server,我有一组sliderInputs,其数量等于我的数据中的列数。列数由来自global.R的选项的值决定。每个滑块都与一列相关联,并在server.R和ui.R中创建,如下所示 我想分别观察它们,以便将值应用于相关列。类似于这个例子。 有什么建议吗 #Example. Not valide code!!! selectedValBySliders <- observe({ print("Numbers selected via sliders:") out_slide

我有一组sliderInputs,其数量等于我的数据中的列数。列数由来自
global.R
选项的值决定。每个滑块都与一列相关联,并在
server.R
ui.R
中创建,如下所示

我想分别观察它们,以便将值应用于相关列。类似于这个例子。 有什么建议吗

 #Example. Not valide code!!!
 selectedValBySliders <- observe({ 
    print("Numbers selected via sliders:") 
    out_sliders <- input$sliders[1:numSliders]
    print(out_sliders)
  })
全球
selectRange如果有人遇到同样的问题,下面是我的解决方案。
如果您有更好的答案,请随时更新

  minMax <- matrix(0, ncol(getData), 2)
  for(i in seq(ncol(getData))){
    if(!is.null(input[[paste0('column', i)]])){
    val <- input[[paste0('column', i)]]
    minMax[i,] <- val
    index <- which(getData[, i] %in% c(minMax[i, 1]:minMax[i, 2]))
    selectedSet <- getData[index, ]
  }
}

minMax您能指出您的numCols函数是什么吗?非常感谢。Adrien
numCols
是一个函数,返回每个数据的列数。您可以使用
data\k模拟数据单击此处了解更多详细信息:
            uiOutput(outputId = "sliders"),
 selectRange <- function(x){
  if(x == "data1"){choices = c(1:10)}
  if(x == "data2"){choices = c(1:15)}
  if(x == "data3"){choices = c(1:20)}
  if(x == "data4"){choices = c(1:25)}
return(choices)  
}

 numCols <- function(x){
  if(x == "data1"){ncolumns = 4}
  if(x == "data2"){ncolumns = 5}
  if(x == "data3"){ncolumns = 5}
  if(x == "data4"){ncolumns = 6}
return(ncolumns)  
}
  minMax <- matrix(0, ncol(getData), 2)
  for(i in seq(ncol(getData))){
    if(!is.null(input[[paste0('column', i)]])){
    val <- input[[paste0('column', i)]]
    minMax[i,] <- val
    index <- which(getData[, i] %in% c(minMax[i, 1]:minMax[i, 2]))
    selectedSet <- getData[index, ]
  }
}