RShiny-去年同期

时间:2018-12-15 21:54:40

标签: r shiny dplyr lubridate

我试图在一个有光泽的应用程序中并排显示两个图。

在第一个图中,当用户从日期范围选择器中选择时显示数据。在第二个图中,我希望它显示用户选择的完全相同的日期范围,但在上一年。

我用于过滤daterange输入数据的代码如下:

reactive_data <- reactive({
   filter(data, between(date, input$dateRange[1], 
                              input$dateRange[2]))
})

理想情况下,我希望我的结果是包含前一年中相同日期范围的另一个反应性数据框-因此,如果用户选择“ 01/01/2017-01/02/2017”,则reactive_data_year_prior将包含日期范围“ 2016年1月1日-2016年2月1日”中的所有数据。

任何帮助,我们将不胜感激!

1 个答案:

答案 0 :(得分:0)

我发现了“可行的东西”(由于经验不足,我会称其为“解决方案”)。

reactive_data <- reactive({
   filter(data, between(date, input$dateRange[1], 
                              input$dateRange[2]))
})

last_year <- reactive({
data_frame("dateFrom" = input$dateRange[1] - lubridate::years(1), "dateTo" = 
input$dateRange[2] - lubridate::years(1)
})

data_last_year <- reactive({
filter(data, between(date, last_year()$dateFrom, 
last_year()$dateTo)
})