#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
.
.
и я планирую построить временной ряд для вышеуказанного набора данных, но меня беспокоит то, правильно ли это делать, просто построить временной ряд, даже если в приведенном выше наборе данных отсутствуют несколько месяцев года? например, в 2003 году отсутствующими месяцами являются «Ноябрь» и «Декабрь», в то время как в 2004 году отсутствующими месяцами являются «сентябрь, октябрь, ноябрь и декабрь».
Список лет продолжается до 2012 года, и действительно, есть несколько лет, в которых присутствуют все месяцы. Хотя в некоторых годах отсутствуют определенные месяцы, как в примере выше, смогу ли я по-прежнему отображать временные ряды, игнорируя тот факт, что в некоторые годы существуют недостающие месяцы?
Ответ №1:
Мы можем преобразовать в 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()
Комментарии:
1. в чем разница между xts и стандартным графиком ts?
2. @Maxxx Было бы более гибко форматировать ось x
3. итак, построение обычного временного ряда с отсутствующим месяцем не является неправильным, но использование xts придает ему большую гибкость и улучшает общий график?
4. @Maxxx Это зависит от того, какими значениями вы хотите заполнить недостающие месяцы. Во втором варианте я заполнил его 0s и построил график с
ggplot
. Вы можете это проверить