@@ -32,7 +32,7 @@ loadTraitData <- function(startDate, endDate) {
3232
3333 currDate <- startDate
3434 while (endDate - currDate != 0 ) {
35- currTraitData <- betydb_query(table = ' traits' , data = paste0(' ~' , currDate ))
35+ currTraitData <- betydb_query(table = ' traits' , date = paste0(' ~' , currDate ))
3636 fullTraitData <- rbind(fullTraitData , currTraitData )
3737 currDate <- currDate + days(1 )
3838 }
@@ -45,24 +45,23 @@ loadTraitData <- function(startDate, endDate) {
4545
4646server <- function (input , output ) {
4747
48+ selectedExpRow <- reactive({ subset(experiments , name == input $ selectedExp ) })
49+
50+ experimentStartDate <- reactive({ as.Date(selectedExpRow()$ start_date ) })
51+ experimentEndDate <- reactive({ as.Date(selectedExpRow()$ end_date ) })
52+
53+ output $ selectVariable <- renderUI({
54+ data.cache(cache.name = ' TraitCache' , loadTraitData , startDate = experimentStartDate(), endDate = experimentEndDate())
55+ variableIds <- as.numeric(unique(fullTraitData $ variable_id ))
56+ selectInput(' selectedVariable' , ' Variable ID' , variableIds )
57+ })
58+
4859 output $ traitPlot <- renderPlot({
49-
50- fullTraitData <- data.frame ()
51-
52- selectedExpRow <- subset(experiments , name == input $ selectedExp )
53- experimentStartDate <- as.Date(selectedExpRow $ start_date )
54- experimentEndDate <- as.Date(selectedExpRow $ end_date )
55-
56- data.cache(cache.name = ' TraitCache' , loadTraitData , startDate = experimentStartDate , endDate = experimentEndDate )
57-
58- output $ selectVariable <- renderUI({
59- variableIds <- as.numeric(unique(fullTraitData $ variable_id ))
60- selectInput(' selectedVariable' , ' Variable ID' , variableIds )
61- })
62- variableTraitData <- subset(fullTraitData , variable_id = input $ selectedVariable )
63-
60+ data.cache(cache.name = ' TraitCache' , loadTraitData , startDate = experimentStartDate(), endDate = experimentEndDate())
61+ variableTraitData <- subset(fullTraitData , variable_id == input $ selectedVariable )
6462 qplot(as.Date(variableTraitData $ date ), variableTraitData $ mean , main = " [Variable] for [Experiment]" ,
65- xlab = " Date" , ylab = " Unit" , geom = " auto " )
63+ xlab = " Date" , ylab = " Unit" )
6664 })
65+
6766}
6867shinyApp(ui = ui , server = server )
0 commit comments