在R中的Shiny app中的sliderInput

时间:2014-10-12 22:59:21

标签: r shiny

我有一个简单的问题,到目前为止我还没有找到解决办法 在ui.R中,如果应用有sliderInput小部件,如下所示:

sliderInput(inputId="frame",label="Frame ID", min=172, max=356, value=172)

如何指定server.R中数据框的最小值和最大值?当用户从selectInput小部件中选择一个值时,server.R中的数据框是子集化的。对于每种情况,我希望min和max基于该数据帧中的变量进行更改。

有什么例子吗?请帮忙。

1 个答案:

答案 0 :(得分:4)

您可以使用renderUI创建反应控件:

ui.R

uiOutput("myControl")

server.R

myDf <- reactive({
# code that subsets data.frame based on input[['somevars']]
})


output$myControl <- renderUI({
  mydataframe <- myDf()
  myVar <- mydataframe[, c("appvar")]
  minmax <- range(myVar)
  startVal <- sample(do.call(":", as.list(minmax)),1)
  sliderInput(inputId="frame",label="Frame ID", min=minmax[1], max=minmax[2][, value=startVal)
})