[R] Code bug unresolved involving if condition

vincent.stoliaroff@socgen.com vincent.stoliaroff at socgen.com
Fri Apr 25 17:15:47 CEST 2003


Hi R lovers!

I am a beginner in coding with R so my question may be very easily solved
but I don't know how.

I have written the following function in a .txt file


ClearDelta <- function(Matrix)
{
ncol<-ncol(Matrix);nrow<-nrow(Matrix);
for (i in 1:nrow) {
                  for (j in 1:(ncol-1))
                        {if (Matrix[i,j]==NA) (NA->Matrix[i,j+1])}
                  }
}

I can charge it with the source() command
But I get the following message when applied to a matrix

> ClearDelta(MatCor)
Error in if (Matrix[i, j] == NA) (Matrix[i, j + 1] <- NA) :
        missing value where logical needed

MatCor is the following Matrix

> MatCor
           [,1]         [,2]       [,3]
[1,]         NA          0.9870676  0.04648933
[2,] 0.98706757  1.0000000 -0.17353590
[3,] 0.04648933 -0.1735359  1.00000000

Do you know why I get such an unpleasant message from so polite a software?

Thanks to anybody who could help.







*************************************************************************
Ce message et toutes les pieces jointes (ci-apres le "message") sont
confidentiels et etablis a l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisee est interdite. 
Tout message electronique est susceptible d'alteration. 
La SOCIETE GENERALE et ses filiales declinent toute responsabilite au 
titre de ce message s'il a ete altere, deforme ou falsifie.
				********
This message and any attachments (the "message") are confidentia... {{dropped}}



More information about the R-help mailing list