[Rd] type.convert() does not treat "NA" as ordinary string as (PR#1568)
ripley@stats.ox.ac.uk
ripley@stats.ox.ac.uk
Fri, 17 May 2002 16:48:43 +0200 (MET DST)
On Fri, 17 May 2002 oehl_list@gmx.de wrote:
> # replication code at end of mail
>
> > # As from R 1.5
> >
> > identical(as.character(NA), "NA")
> [1] FALSE
> >
> > # there is no longer a fundamental difference between "NA"
> > # and an ordinary string like "NN" (WHICH IS A GREAT IDEA!!)
> > # however, though "NA" is not given as na.strings we have
> >
> > type.convert(c("NA", "1", NA), na.strings="b")
> [1] NA 1 NA
> > # compare to
> > type.convert(c("NN", "1", NA), na.strings="b")
> [1] NN 1 <NA>
> Levels: 1 NN NA
> >
> > # dito
> > type.convert(c("NA", "1", NA), na.strings=character())
> [1] NA 1 NA
> > # compare to
> > type.convert(c("NN", "1", NA), na.strings=character())
> [1] NN 1 <NA>
> Levels: 1 NN NA
Yes. Thanks for pointing it out.
Notice that is a real result, as the real convertor was hard-coded to
handle "NA" as a missing real. It proved a little tricky to disentangle
it.
> # furthermore, may be type.convert should have default
> # function(x, na.strings = NA, as.is = FALSE, dec = ".")
> # or
> # function(x, na.strings = character(), as.is = FALSE, dec = ".")
> # or
> # function(x, na.strings = NULL, as.is = FALSE, dec = ".")
> # rather then
> # function(x, na.strings = "NA", as.is = FALSE, dec = ".")
That was intentional. It is intended to convert character input read from
a file, and R does still regards "NA" in a file as missing unless told
otherwise. So it makes sense to have the same default for type.convert,
and also for backwards compatibility.
Brian
--
Brian D. Ripley, ripley@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 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel 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-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._