I believe that computing covariance matrices takes much more time than computing their average and so it does not matter how you do this, but one possibility is:
z<- lcov[[1]]*0 y <- sapply(lcov,function(x) {z<<-z+x;0;}) y <- y/length(lcov) --- Rick DeShon <[EMAIL PROTECTED]> wrote: > Hi All. > > I would like to compute a separate covariance matrix > for a set of > variables for each of the levels of a factor and > then compute the > average covariance matrix over the factor levels. I > can loop through > this computation but I need to perform the > calculation for a large > number of levels and am looking for something more > elegant. To be > concrete.... > > u <- 3 > n <- 10 > > x <- rnorm((id*u)) > y <- rnorm((id*u)) > z <- rnorm((id*u)) > id <- gl(u,n) > > df <- data.frame(id,x,y,z) > df.s <- split(xxx,id) > > lcov <- lapply(df.s,cov) > lcov > > What's an efficient way to compute the average > covariance matrix over > the list members in "lcov"? > > Thanks in advance, > > Rick DeShon > > ______________________________________________ > 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. > ______________________________________________ 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.