попытка понять пропущенные значения

#trend

#тенденция

Вопрос:

Когда я добавляю плавную линию тренда к графику с несколькими временными рядами, я продолжаю получать пропущенные значения

 Removed 2 row(s) containing missing values (geom_path)
  

хотя данные выглядят нормально для меня,

         date    cost     inc      month
1 2019-07-11   50.00    0.00 2019-07-01
2 2019-07-11   50.00    0.00 2019-07-01
3 2019-07-15 1743.48    0.00 2019-07-01
4 2019-07-26 1000.00    0.00 2019-07-01
5 2019-07-01    0.00 2000.00 2019-07-01
6 2019-09-01    0.00 2500.00 2019-09-01
7 2019-10-01    0.00 1973.96 2019-10-01
  

Я «собираю» переменные с,

 df <- a %>% select(date, cost, inc) %>% gather(key = "variable", value = "value", -date)
  

и создайте график области с,

 > ggplot(df, aes(x = date, y = value))   
      geom_area(aes(color = variable, fill = variable), 
                alpha = 0.5, position = position_dodge(0.8))  
      scale_color_manual(values = c("#00AFBB", "#E7B800"))  
      scale_fill_manual(values = c("#00AFBB", "#E7B800"))
  

но когда я добавляю плавную линию тренда, я продолжаю получать сообщение «Удалены 2 строки, содержащие пропущенные значения (geom_path)» (а также множество других ошибок сингулярности и взаимных условий), независимо от того, какие данные я удаляю или изменяю.

 > p   stat_smooth(color = "#FC4E07", fill = "#FC4E07",method = "loess")
  

график с плавной линией тренда

Ответ №1:

Хорошо, итак, я просто забыл сначала определить «p» как график с несколькими временными рядами.

 p <- ggplot(df, aes(x = date, y = value))   
    geom_area(aes(color = variable, fill = variable), 
              alpha = 0.5, position = position_dodge(0.8))  
    scale_color_manual(values = c("#00AFBB", "#E7B800"))  
    scale_fill_manual(values = c("#00AFBB", "#E7B800"))
  

значения в порядке, и график выглядит следующим образом:

график области многократного временного ряда с плавной линией тренда