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.

Reply via email to