Hi all, While R-1.5.0 is still unfrozen, I'd like to try again to generate interest in
my favorite pet peeve: NA's in character vectors. Last October I wrote:
LETTERS[c(NA,2)] in S is c("","B"), but in R is c("NA","B").
We had an interesting discussion then, and I learned (from Duncan Murdoch and
Thomas Lumley) that R does have an internal code for missing char values
(R_NaString), but it gets easily confused with the string "NA". Check this:
R> z <- c(LETTERS[c(2,NA)], "NA", paste("NA"))
R> is.na(z)
[1] FALSE TRUE TRUE FALSE
R> z[3]==z[4]
[1] TRUE
R> z=="NA"
[1] FALSE TRUE TRUE TRUE
Thomas Lumley <tlumley@u.washington.edu> suggested that this weird behavior
essentially arises because the parser converts "NA" to R_NaString, and so...
It looks like we basically need to 1) stop the parser generating R_NaString from \"NA\" 2) Change PRINTNAME(R_NaString) to avoid ambiguity
While I still like the simple S-Plus model (""), Thomas's suggestions (with
PRINTNAME(R_NaString) = "<NA>" for example) would be OK too. Thanks for
listening (again)!
-- David Brahm (brahm@alum.mit.edu) "I write this letter not to nag nor to whine, but to prod." - Lisa Simpson -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._