2016-04-11 17 views
2

Soruma ilişkin soru Using dynamic dates in Shiny dateRangeInput, ancak yine de sorunun nasıl giderileceğinden emin değilim. aşağıda gösterildiği gibi kod vardır:Ayar dateRangeInput min/maks, verilere göre

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) 
) 
) 

Ancak bu işe yaramazsa ve bunun bir veri çerçevesi veya vektör dayalı ui yılında dateRangeInput için min ve max ayarlamak mümkün değildir gibi görünüyor. Bunu yapmanın bir yolu var mı? dinamik tarih aralığını tanımlamak için verileri kullanarak Çünkü

+0

Verileri okuduğunuzda verilerin nasıl saklandığını kontrol edin: 'class (data $ date)'. Benim tahminim, 'as.is = TRUE' argümanını kullanarak onu okumak zorunda kalacaksınız, daha sonra' as.Date() 'kullanarak el ile tarihe dönüştürmeniz gerekecektir. – lmo

cevap

2

, size gerekecek server.R yılında renderUI

Yani kullanarak, server.R içinde dateRangeInput işlemek isteyeceksiniz

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

output$daterange <- renderUI({ 

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

}) 

ve yılında ui.R Eğer gerekecek

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

Daha sonra kullanmak için' daterange 'öğesini nasıl seçebilirim? –

+0

Ben bunu anladım. Sadece $ daterange girdisini kullanabilirim. –

İlgili konular