[R] Code bug unresolved involving if condition
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Apr 25 17:54:32 CEST 2003
On Fri, 25 Apr 2003 vincent.stoliaroff at socgen.com wrote:
>
> Thanks a lot
> I had corrected that already after thinking for a while about the cause of
> the bug
>
> However I still have some trouble in trying to set the Matrix[i,j+1] term
> to Missingness.
Why? Setting it to NA works.
>
> I am not sure how to use the generic function `is.na<-' which sets elements
> to `NA'.
>
> {if (is.na(Matrix[i,j])) (is.na(Matrix[i,j+1])<-1)}
>
> does not work to set my Matrix[i,j+1] term to NA
>
> Thanks in advance for any help
>
>
>
>
> |---------+---------------------------->
> | | ripley at stats.ox.a|
> | | c.uk |
> | | |
> | | 04/25/03 05:34 PM|
> | | |
> |---------+---------------------------->
> >------------------------------------------------------------------------------------------------------------------------------|
> | |
> | To: Vincent STOLIAROFF/fr/socgen at socgen |
> | cc: r-help at stat.math.ethz.ch |
> | Subject: Re: [R] Code bug unresolved involving if condition |
> >------------------------------------------------------------------------------------------------------------------------------|
>
>
>
> The message is both pleasant and accurate! It indicates that you have
> made an error, and tells you what the error is.
>
> foo == NA is always missing, since NA denotes a missing value.
> Use is.na(foo): see ?is.na.
>
> On Fri, 25 Apr 2003 vincent.stoliaroff at socgen.com wrote:
>
> > 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.
>
> --
> 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
>
>
>
>
>
>
>
> *************************************************************************
> 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 confidential and
> intended solely for the addressees.
> Any unauthorised use or dissemination is prohibited.
> E-mails are susceptible to alteration.
> Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates
> shall be liable for the message if altered, changed or falsified.
>
> *************************************************************************
>
>
--
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
More information about the R-help
mailing list