On May 15, 2009, at 9:46 AM, Liviu Andronic wrote:

Dear all,
I'm trying to gsub() "%" with "\%" with no obvious success.
temp1 <- c("mean", "sd",   "0%",   "25%",  "50%",  "75%",  "100%")
temp1
[1] "mean" "sd"   "0%"   "25%"  "50%"  "75%"  "100%"
gsub("%", "\%", temp1, fixed=TRUE)
[1] "mean" "sd"   "0%"   "25%"  "50%"  "75%"  "100%"
Warning messages:
1: '\%' is an unrecognized escape in a character string
2: unrecognized escape removed from "\%"

I am not quite sure on how to deal with this error message. I tried
the following
gsub("%", "\\%", temp1, fixed=TRUE)
[1] "mean"   "sd"     "0\\%"   "25\\%"  "50\\%"  "75\\%"  "100\\%"

Could anyone suggest how to obtain output similar to:
[1] "mean"   "sd"     "0\%"   "25\%"  "50\%"  "75\%"  "100\%"

Thank you,
Liviu

Presuming that you might want to output the results to a TeX file for subsequent processing, where the '%' would otherwise be a comment character, the key is not to get a single '\', but a double '\\', so that you then get a single '\' on output:

temp1 <- c("mean", "sd",   "0%",   "25%",  "50%",  "75%",  "100%")

temp2 <- gsub("%", "\\\\%", temp1)

> temp2
[1] "mean"   "sd"     "0\\%"   "25\\%"  "50\\%"  "75\\%"  "100\\%"

> cat(temp2)
mean sd 0\% 25\% 50\% 75\% 100\%


Remember that the single '\' is an escape character, which needs to be doubled.

HTH,

Marc Schwartz

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

Reply via email to