Skip to content
Prev 366871 / 398502 Next

Challenge extracting months

Hi Kwesi,
Even without the data, it seems clear that you want something like a
rolling mean. Here is a simple function that will apply a function
like "mean" to successive bits of a vector of numbers:

collapse_values<-function(x,span,FUN="mean",na.rm=FALSE) {
 jump<-span-1
 newx<-rep(NA,length(x)-jump)
 for(i in 1:length(newx))
  newx[i]<-do.call(FUN,list(x[i:(i+jump)],na.rm=na.rm))
 return(newx)
}

test<-1:12
names(test)<-month.abb
test
collapse_values(test,3)
 [1]  2  3  4  5  6  7  8  9 10 11

Jim



On Mon, Jan 30, 2017 at 11:53 PM, Kwesi Quagraine
<starskykwesi at gmail.com> wrote: