[R] Efficient computation of average covariance matrix over a list
Moshe Olshansky
m_olshansky at yahoo.com
Tue Dec 4 01:34:48 CET 2007
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 <deshon at msu.edu> 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 at 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.
>
More information about the R-help
mailing list