I'm working with panel data that looks like this:
library(dplyr)
library(ggplot2)
df <- tibble(id = rep(1:5, each = 12),
year = rep(2009:2020, 5),
moved = c(1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0,
1, 0, 1, 0 , 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0 , 1, 0),
occupation = c('carpenter','carpenter', 'carpenter', 'carpenter', 'carpenter', 'cleaner',
'cleaner', 'cleaner', 'cleaner', 'cleaner', 'mechanic', 'mechanic',
'mechanic', 'mechanic', 'mechanic', 'carpenter', 'carpenter', 'carpenter',
'carpenter', 'carpenter', 'cleaner', 'mechanic', 'carpenter', 'cleaner',
'cleaner', 'carpenter', 'cleaner', 'mechanic', 'mechanic', 'mechanic',
'carpenter','carpenter', 'carpenter', 'carpenter', 'carpenter', 'cleaner',
'cleaner', 'cleaner', 'cleaner', 'cleaner', 'mechanic', 'mechanic',
'mechanic', 'mechanic', 'mechanic', 'carpenter', 'carpenter', 'carpenter',
'carpenter', 'carpenter', 'cleaner', 'mechanic', 'carpenter', 'cleaner',
'cleaner', 'carpenter', 'cleaner', 'mechanic', 'mechanic', 'mechanic'))
To visualise moves by occupation over time, I have used the following code:
ggplot(df,aes(x=year,y=moved,col=occupation)) +
stat_summary(fun=mean,geom="line",alpha=0.7, size=1)
Now I would like to remake the panel so that I get the 2 years moving average of "moved". Is it possible to do this by using ggplot, or do I need to remake the panel? What is the best solution?
