ripley@stats.ox.ac.uk
2002-May-17 14:48 UTC
[Rd] type.convert() does not treat "NA" as ordinary string as (PR#1568)
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 NAYes. 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._