I'm an R newbie and I'm having a lot of trouble doing something that is probably very simple. I have a big dataset split up into groups by country code, and I want to take a 3-month rolling average of a price index, by country, and then put it into a new column that matches up to the appropriate month. I've been trying to use rollmean like this with no success (code and error messages below):
> leader$last3<-tapply(leader, leader$ccode,
function(x) rollmean(leader$GI_delta, 3, na.pad=T))
Error in tapply(leader, leader$ccode, function(x) rollmean(leader$GI_delta, :
arguments must have same length
> leader$last3<-ddply(leader, .(ccode),
rollmean(GI_delta, 3, na.pad=T))
Error in llply(.data = .data, .fun = .fun, ..., .progress = .progress, :
.fun is not a function.
Any help would be much appreciated!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…