error with princomp
Faheem Mitha <faheem at email.unc.edu> writes:
Yup. I'm guessing the relevant part is
if (symmetric) {
if (complex.x) {
xr <- Re(x)
xi <- Im(x)
z <- .Fortran("ch", n, n, xr, xi, values = dbl.n,
!only.values, vectors = xr, ivectors = xi, dbl.n,
dbl.n, double(2 * n), ierr = integer(1), PACKAGE = "base")
if (z$ierr)
stop(paste("ch returned code ", z$ierr, " in eigen"))
if (!only.values)
z$vectors <- matrix(complex(re = z$vectors, im =
z$ivectors),
nc = n)
}
But this does not enlighten me. It seems to involve a call to some Fortran
code, and I don't know Fortran. And I am still freaked that it worked in
Splus and not in R (same data set, same code).
The error message said that the problem was in "if (symmetric) {..."
so I'd suspect that it is because symmetric is not a logical - you're
not getting to the Fortran at all. Now, since eigen is not explicitly
being passed a "symmetric" argument, that must come from missing
values in the covariance matrix itself. So where do they come from?
One more hint: debug(princomp) and have a look at the generation of
"cv". It looks like it should be protected from missings, but there
might be a bug somewhere.
O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._