[R] Calculate variance/covariance with complex numbers

Ben Bolker bolker at ufl.edu
Sun Mar 28 18:18:36 CEST 2010

Gang Chen <gangchen6 <at> gmail.com> writes:

> Thanks a lot for the help, Ben Bolker and Chuck!
> Chuck, it seems your version needs a little modification. Instead of this:
> > xri <- matrix(rnorm(10000)+1i*rnorm(10000),nc=2)
> > crossprod(xri-colMeans(xri))/(nrow(xri)-1)
> it seems to me it should be this (maybe there is a more elegant
> modification than mine?):
> > crossprod(t(apply(xri, 1, '-', colMeans(xri))))/(nrow(xri)-1)

   Not sure, but you could take a look at sweep() and scale( ,scale=FALSE)
for slightly more specialized/efficient ways of doing the column centering,


 (warning, almost completely untested)


More information about the R-help mailing list