juha.heljoranta at iki.fi
2006-May-17 18:42 UTC
[Rd] prcomp: problem with zeros? (PR#8870)
Full_Name: Juha Heljoranta Version: R 2.1.1 (2005-06-20) OS: Gentoo Linux Submission from: (NULL) (88.112.29.250) prcomp has a bug which causes following error Error in svd(x, nu = 0) : infinite or missing values in 'x' on a valid data set (no Infs, no missing values). The error is most likely caused by the zeros in data. My code and temporary workaround: m = matrix(... ... prcomp(m, center = TRUE, scale = TRUE) Error in svd(x, nu = 0) : infinite or missing values in 'x' m = matrix(... ... # ugly work around m = m + 1e-120 # too small values will not work # m = m + 1e-150 prcomp(m, center = TRUE, scale = TRUE) # success The matrix in question is ~1024x13000 containing double values, thus totaling of ~103M of raw data. I can put it online if needed.
On Wed, 17 May 2006, juha.heljoranta at iki.fi wrote:> Full_Name: Juha Heljoranta > Version: R 2.1.1 (2005-06-20)Not a current version of R.> OS: Gentoo Linux > Submission from: (NULL) (88.112.29.250) > > prcomp has a bug which causes following error > > Error in svd(x, nu = 0) : infinite or missing values in 'x' > > on a valid data set (no Infs, no missing values). The error is most likely > caused by the zeros in data.Why do you say that? Without a reproducible example, we cannot judge what is going on. If you called prcomp with scale=TRUE on a matrix that has a completely zero (or constant) column, then this is a reasonable error message.> My code and temporary workaround: > > > m = matrix(... > ... > prcomp(m, center = TRUE, scale = TRUE) > Error in svd(x, nu = 0) : infinite or missing values in 'x' > > > m = matrix(... > ... > # ugly work around > m = m + 1e-120 > # too small values will not work > # m = m + 1e-150 > prcomp(m, center = TRUE, scale = TRUE) > # success > > > The matrix in question is ~1024x13000 containing double values, thus totaling of > ~103M of raw data. I can put it online if needed. > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > >-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
juha.heljoranta at iki.fi
2006-May-18 06:08 UTC
[Rd] prcomp: problem with zeros? (PR#8870)
Prof Brian Ripley wrote:>> Error in svd(x, nu = 0) : infinite or missing values in 'x' > > Why do you say that? Without a reproducible example, we cannot judge > what is going on. If you called prcomp with scale=TRUE on a matrix that > has a completely zero (or constant) column, then this is a reasonable > error message.My bad, the matrix has actually a zero column. Thank you for your time and sorry for any inconveniences that this may have caused. Regards, Juha Heljoranta