¿Cómo construyo un marco de datos reactivo en R / Shiny?

Quiero usar un marco de datos reactivo para mostrar múltiples diagramas y gráficos. Tengo un conjunto de datos que me gustaría poder filtrar. En los que encontré la configuración de filtro correcta, me gustaría mostrar los datos en varias parcelas diferentes, que se actualizarán si se cambia la configuración del filtro.

Esto podría explicar lo que estoy tratando de hacer:

UI:

fluidPage(
  sidebarLayout(
    sidebarPanel(

      checkboxGroupInput("checkGroups", 
                         label = "Include", choices = list("1 star" = 1, "2 star" = 2,
                                                           "3 star" = 3, "4 star" = 4,
                                                           "5 star" = 5),
                         selected = list(1, 2, 3, 4, 5)),

      checkboxInput("checkbox", "Include Replies"),

      actionButton("Button", "Update")

    ),
    mainPanel(

      showOutput("plot", "nvd3"),

      showOutput("pieplot", "nvd3")

    )
  )
)

SERVIDOR:

rating <- c(2, 3, 5, 4, 1, 5, 3, 1, 4)
date_time <- c("2015-05-14", "2015-05-07", "2015-05-06", "2015-04-11", "2015-01-07", "2014-12-06", "2014-04-11", "2014-01-07", "2013-12-06")
repliesOnly <- c(TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, FALSE, FALSE, TRUE)
data <- data.frame(rating, date_time, repliesOnly)

function(input, output, session) {

  load("data.Rdata")

  newdata <- reactive({

    filter_data <- data

    filter_data <- filter_data %>% filter(rating %in% input$checkGroups)

    filter_data <- filter_data %>% filter(repliesOnly %in% input$checkbox)

    return(filter_data)

  })

  output$plot <- renderChart({

    plot <- nPlot(rating ~ date_time, data = newdata, 
                  type = "multiBarHorizontalChart", dom = 'plot')
    return(plot)

  })

  output$pieplot <- renderChart({

    pieplot <- nPlot(rating ~ date_time, data = newdata, 
                  type = "pieChart", dom = 'pieplot')
    return(pieplot)

  })

}

Se puede hacer? Por supuesto, solo puedo incluir el filtro para cada salida de gráfico, pero mi conjunto de datos es bastante grande y mi filtro es bastante complejo, por lo que si se calcula para cada gráfico, tomará una eternidad.

¡Toda ayuda es muy apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta