首页 > 解决方案 > 日期范围输入问题。无法实现ggplot

问题描述

我正在尝试按年份显示我的国家的进出口情况。我有一个 dateRangeInput 允许选择年份。但是,我不知道如何过滤输入。

我试过这个

 df2 <- df[as.Date(df$Year) > input$dateRange[1] &
              as.Date(df$Year) < input$dateRange[2],]

这是在我的用户界面中

dateRangeInput("dateRange", label = 'Date Range', format = "yyyy-mm-dd", 
                     startview = "year", start = '2009-01-01', end='2017-01-01',
                     min = df$Year[1], max = df$Year[9])

这是服务器部分

output$retail = renderPlotly({
  df1 <- reactive({
    filter(df, between(df$Year ,input$daterange[1], input$daterange[2]))
  })

    ggplot(df1(), aes(x = Year)) + 
      geom_line(aes(y = Export.TOTAL), color = "#FF7954") + 
      geom_line(aes(y = Import.TOTAL), color= "#3639e2") +
      scale_fill_manual(values = c("#FF5733"), name = "Type")+
      labs(title = "Balance of Import/Export", y =" " ) +
      theme_minimal() +
      scale_x_continuous(breaks = seq(2009,2017)) +
      )
  })

我希望有一个图表显示所选日期之间的导入/导出结果。

标签: rshinyshinydashboard

解决方案


从这个问题中,https://github.com/tidyverse/dplyr/issues/1639期待between()数值。看来,如果您环绕as.Date()这些值,它应该可以工作。


推荐阅读