2014-10-12 3 views
2

У меня есть простой вопрос, для которого я пока не нашел решение.
В ui.R, если приложение имеет sliderInput виджет как следующее:sliderInput in Shiny app in R

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

Как можно указать минимальное и максимальное значения из кадра данных в server.R? Кадр данных на сервере.R подмножеств, когда пользователь выбирает значение из selectInput виджета. Для каждого случая я хочу, чтобы min и max изменялись на основе переменной в этом фрейме данных.

Есть ли какой-нибудь пример? Пожалуйста помоги.

+0

http://shiny.rstudio.com/tutorial/lesson6/ – shadowtalker

ответ

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

Большое спасибо! –