[R] aggregate

Petr Savicky savicky at cs.cas.cz
Wed Mar 14 16:14:48 CET 2012


On Wed, Mar 14, 2012 at 07:46:40AM -0700, Alaios wrote:
> Dear all I am having a vector with large length and I would like to ask you if I can aggregate the values by constant sized windows. For example for the following vector, I would like to take 30 points until the end
> and find their mean.
> 
> 
> > myData<-seq(1:100000)
> >
> > c(mean(myData[1:30]),mean(myData[31:60])) #...and so one until the end
> [1] 15.5 45.5

Hi.

Try the following.

  myData <- 1:100
  gr <- ceiling((1:length(myData))/30)
  c(tapply(myData, gr, FUN=mean))

     1    2    3    4 
  15.5 45.5 75.5 95.5 

Hope this helps.

Petr Savicky.



More information about the R-help mailing list