Skip to content

svd error

5 messages · WU,TONGTONG, Brian Ripley, Spencer Graves

#
Hi,

  I met a probem recently and need your help.  I would really appreciate
it.

  I kept receiving the following error message when running a program:

'Error in svd(X) : infinite or missing values in x'.

However, I did not use any svd function in this program though I did
include the function pseudoinverse.  Is the problem caused by doing
pseudoinverse?

Best regards,
Tongtong
#
On Thu, 27 Jan 2005, WU,TONGTONG wrote:

            
Where did you find that function?  It is not part of R as it ships, and it 
*may* be part of GeneTS, where it calls svd after squaring the matrix. 
But there are simpler pseudoinverse functions (e.g. ginv in MASS) that 
will not introduce that error.

The tool you needed was traceback(): try it to see what it tells you here.
#
You haven't told us what you used to compute the pseudoinverse, 
but I can get that error message using ginv in library(MASS).  When I 
then typed "ginv" (without the parentheses, it listed the code, and I 
quickly saw "Xsvd <- svd(X)" [using R 2.0.1 under Windows 2000]. 

      hope this helps. 
      spencer graves
p.s.  The posting guide (www.R-project.org/posting-guide.html) can help 
you find answers to many questions like this yourself, in addition to 
improving your facility with language AND improving, I believe, your 
chances of getting a reply that actually answers your question.  In this 
case, if you are not using "ginv" in library(MASS) and the discussion 
above doesn't help you solve the problem otherwise, following the 
posting guide would have made it much easier for someone like me to 
provide a more useful answer.
WU,TONGTONG wrote:

            
#
Dear Prof. Ripley: 

      With library(MASS), I got the following in R 2.0.1 under Windows 
2000: 

 > X
     [,1] [,2]
[1,]    1    3
[2,]    2   NA
 > ginv(X)
Error in svd(X) : infinite or missing values in x

      This may not relate to Tongtong Wu's problem, but it used "ginv" 
in library(MASS) as you suggested and did produce the cited error message. 

      spencer graves
Prof Brian Ripley wrote:

            
#
On Thu, 27 Jan 2005, Spencer Graves wrote:

            
I said `introduce'.  The cause of the error is in X, not introduced by 
ginv. pseudoinverse can introduce NaNs/infinities.

Please do remember the care I take when writing things.

BDR