Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 处理数据集中缺少的月份值并绘制时间序列_R - Fatal编程技术网

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 . . 我正计划为上述数据集绘

因此,我目前在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年,缺少的月份是“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()