ggplot2 texashousing数据平滑短期噪声

时间:2018-07-14 04:12:20

标签: r ggplot2 statistics time-series

我正在研究Hadley Wickham的ggplot2精美图形,用于数据分析的第11章练习11.3.1:

此处Wickham试图删除数据中的每月趋势-tidyverse中的txhousing:

deseas <- function(x, month) {
resid(lm(x ~ factor(month), na.action = na.exclude))
}

txhousing <- txhousing %>% 
  group_by(city) %>% 
  mutate(rel_sales = deseas(log(sales), month))

ggplot(txhousing, aes(date, rel_sales)) + 
  geom_line(aes(group = city), alpha = 1/5) + 
  geom_line(stat = "summary", fun.y = "mean", colour = "red")

enter image description here

但问题是:最终图显示了总体趋势中的许多短期噪声。您如何进一步平滑这种变化以关注长期变化? 由于我对时间序列不太熟悉,因此不知道如何平滑短期变化...是否有人可以帮助我呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

我们可以使用geom_smooth添加趋势线。 loess是一种平滑方法。

ggplot(txhousing, aes(date, rel_sales)) + 
  geom_line(aes(group = city), alpha = 1/5) + 
  geom_line(stat = "summary", fun.y = "mean", colour = "red") +
  geom_smooth(method = "loess", se = FALSE)

enter image description here