Hi: Tal was on the right track, but the function in package zoo that applies here is rollapply():
library(zoo) m<-matrix(seq(1,80),ncol=20, nrow=4) t(apply(m, 1, function(x) rollapply(zoo(x), width = 5, FUN = mean, by = 5))) [,1] [,2] [,3] [,4] [1,] 9 29 49 69 [2,] 10 30 50 70 [3,] 11 31 51 71 [4,] 12 32 52 72 The width argument determines the number of values per subgroup to process, and by determines the spacing between 'windows' of values. Since the objective here was to summarize nonoverlapping blocks of size 5, both width and by have to be specified with the same value. HTH, Dennis On Thu, Jul 15, 2010 at 8:31 AM, steven mosher <mosherste...@gmail.com>wrote: > Eik and Patrick, > > Thanks I will give those a try. > > > On Thu, Jul 15, 2010 at 8:15 AM, Patrick J Rogers <pjrog...@ucsd.edu> > wrote: > > > Hi Steven, > > > > You can just cut the matrix up into a 5 column matrix and use apply as > > normal > > > > m2<-matrix(as.vector(t(m)), ncol=5, byrow=TRUE) > > result<-matrix(apply(m2, 1, mean), ncol=ncol(m)/ncol(m2), byrow=TRUE) > > result > > > > -- > > Patrick Rogers > > Dept. of Political Science > > University of California, San Diego > > > > On Jul 15, 2010, at 2:39 AM, steven mosher wrote: > > > > > Given a matrix of MxN > > > want to take the means of rows in the following fashion > > > m<-matrix(seq(1,80),ncol=20, nrow=4) > > > result<-matrix(NA,nrow=4,ncol=20/5) > > > result[,1]<-apply(m[,1:5],1,mean) > > > result[,2]<-apply(m[,6:10],1,mean) > > > result[,3]<-apply(m[,11:15],1,mean) > > > result[,4]<-apply(m[,16:20],1,mean) > > > result > > > [,1] [,2] [,3] [,4] > > > [1,] 9 29 49 69 > > > [2,] 10 30 50 70 > > > [3,] 11 31 51 71 > > > [4,] 12 32 52 72 > > > > > > So, I want the mean of every successive 5 values in a row > > > > > > as the dimension in columns is wide I cant write it with multiple apply > > as > > > above > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-help@r-project.org mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-help > > > PLEASE do read the posting guide > > http://www.R-project.org/posting-guide.html > > > and provide commented, minimal, self-contained, reproducible code. > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.