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) Do you agree? Gang On Sat, Mar 27, 2010 at 7:07 PM, Charles C. Berry <cbe...@tajo.ucsd.edu> wrote: > On Sat, 27 Mar 2010, Gang Chen wrote: > >> Anybody knows what functions can be used to calculate >> variance/covariance with complex numbers? var and cov don't seem to >> work: > > How about? > >> xri <- matrix(rnorm(10000)+1i*rnorm(10000),nc=2) >> crossprod(xri-colMeans(xri))/(nrow(xri)-1) > > HTH, > > Chuck > >> >>> a >> >> 1 >> V1 0.00810014+0.00169366i >> V2 0.00813054+0.00158251i >> V3 0.00805489+0.00163295i >> V4 0.00809141+0.00159533i >> V5 0.00813976+0.00161850i >> >>> var(a) >> >> 1 >> 1 1.141556e-09 >> Warning message: >> In var(a) : imaginary parts discarded in coercion >> >>> cov(a) >> >> 1 >> 1 1.141556e-09 >> Warning message: >> In cov(a) : imaginary parts discarded in coercion >> >> Thanks in advance, >> Gang >> >> ______________________________________________ >> 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. >> > > Charles C. Berry (858) 534-2098 > Dept of Family/Preventive > Medicine > E mailto:cbe...@tajo.ucsd.edu UC San Diego > http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901 > > > ______________________________________________ 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.