On 29/06/2010 6:47 AM, Jason Rupert wrote:
Previously in R 2.9.2 I used the following to convert from an improperly formatted NA string into one that is a bit more consistent.
gsub("N\A", "NA", "N\A", fixed=TRUE)
This worked in R 2.9.2, but now in R 2.11.1 it doesn't seem to work an throws the following error.
Error: '\A' is an unrecognized escape in character string starting "N\A"
I guess my questions are the following:
(1) Is this expected behavior?
Yes.
(2) If it is expected behavior, what is the proper way to replace "N\A" with "NA" and
"N\\A" with "NA"?
You need to and double the backslashes to enter them in an R string. So
gsub("N\\A", "NA", original, fixed=TRUE)
should work if original contains a single backslash, and
gsub("N\\\\A", "NA", original, fixed=TRUE)
should work if it contains a double one. Two things add to the confusion here: First, a
single backslash will be displayed doubled by print(). And secondly, if you don't use
"fixed=TRUE", then you are working with regular expressions, and need another
doubling, i.e. my first gsub() is equivalent to
gsub("N\\\\A", "NA", original)
and my second is equivalent to
gsub("N\\\\\\\\A", "NA", original)
Duncan Murdoch
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.