处理数据集中的缺失月份值并绘制时间序列

时间:2019-04-22 15:13:44

标签: r

所以我目前在R中有一个数据集:

Date            Mean_Value

2003-10-01      7.94
2004-02-01      3.17
2004-03-01      4.62
2004-04-01      5.38
2004-05-01      4.17
2004-06-01      6.40
2004-07-01      4.12
2004-08-01      3.09
2005-01-01      5.32
.
.

,我正计划为上述数据集绘制一个时间序列,但我关心的一件事是做对的事情,甚至只是绘制时间序列尽管在丢失?上方的数据集中有一年中的某些月份?例如,在 2003 年中,缺少的月份为 “ <十一月”和“十二月” ,而在 2004 年中,缺少的月份是“九月,十月,十一月和十二月”

年份列表一直持续到2012年,确实有有些年份,所有月份都存在。尽管像上面的示例一样,某些年份缺少某些月份,但是我仍然能够忽略一些年份存在存在缺失月份的事实而绘制时间序列吗?

1 个答案:

答案 0 :(得分:0)

我们可以转换为xts,然后执行plot

library(xts)
xt1 <- xts(df1$Mean_Value, order.by = as.Date(df1$Date))
plot(xt1)

或者使用complete创建丢失的“日期”,然后使用ggplot情节

library(tidyverse)
library(ggplot2)
df1 %>%
   complete(Date = seq(first(Date), last(Date), by = "1 month"), 
         fill = list(Mean_Value = 0)) %>% 
   ggplot(., aes(x = Date, y = Mean_Value)) + 
           geom_line()