I have a panel dataset that is broken down into 4 "events". For each event I would like a moving 48 period average. However, I need the moving average to reset at the next event.
I have the following moving average code that is getting me the MA:
MAV <- function(x,n=48) {filter(data.crunch$THI.lag,rep(1/n,n), sides=1)} #Need to set sides=1
data.crunch$MAV <- MAV(data.crunch$THI.lag)
However, I need to add something to make it reset. I've tried a by
statement, but it's not working:
MAV <- function(x,n=48) {filter(data.crunch$THI.lag,rep(1/n,n), sides=1)} #Need to set sides=1
data.crunch$MAV <- MAV(data.crunch$THI.lag, by=c('event_name'))
Any help would be greatly appreciated!