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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._