R 处理数据集中缺少的月份值并绘制时间序列
因此,我目前在R中有一个数据集:R 处理数据集中缺少的月份值并绘制时间序列,r,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 . . 我正计划为上述数据集绘
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年,缺少的月份是“11月”和“12月”,而在2004年,缺少的月份是“9月、10月、11月和12月”
年度清单一直持续到2012年,确实有一些年份的所有月份都出现了。尽管有些年份缺少某些月份,比如上面的例子,但我是否仍然能够绘制时间序列,忽略某些年份中存在缺少月份的事实?我们可以转换为
xts
,然后进行绘制
library(xts)
xt1 <- xts(df1$Mean_Value, order.by = as.Date(df1$Date))
plot(xt1)
xts和标准ts绘图之间有什么区别?@Maxxx设置x轴的格式会更灵活,因此绘制缺少月份的正常时间序列没有错,但使用xts会更灵活,并改善整体绘图?@Maxxx这取决于您希望缺少月份填充的值。在第二个选项中,我将其填充为0,并使用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()