根据数据设置dateRangeInput min / max

时间:2016-04-11 22:40:47

标签: r shiny

我的问题与Using dynamic dates in Shiny dateRangeInput有关,但我仍然不确定如何解决问题。我的代码如下所示:

data <- read.csv('data.csv')
#data has a column named 'date' which has a min value of 2002-01-01 and a max of 2016-03-01.   

ui <- fluidPage(
  dateRangeInput(inputId='daterange', label='Select Model Build Period', 
    min = min(data$date), max = max(data$date)
  )
)

但是,这不起作用,似乎无法根据数据框或向量在min中为max设置dateRangeInputui 。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

由于您使用数据动态定义日期范围,因此您需要使用renderUI

dateRangeInput中呈现server.R

所以在 server.R 中你会有

data <- read.csv('data.csv')

output$daterange <- renderUI({

    dateRangeInput(inputId='daterange', 
                   label='Select Model Build Period', 
                   min = min(data$date), 
                   max = max(data$date)
                  )

})

并且 ui.R 你有

ui <- fluidPage(
    ....
    uiOutput("daterange")
    ....
)