On 15-May-09 14:46:27, 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\\%" "70\\%" "100\\%" > > Could anyone suggest how to obtain output similar to: > [1] "mean" "sd" "0\%" "25\%" "50\%" "75\%" "100\%" > > Thank you, > Liviu
1: The double escape "\\" is the correct way to do it. If you give "\%" to gsub, it will try to interpret "%" as a special character (like "\n" for newline), and there is none such (as it tells you). On the other hand, "\\" tells gsub to interpret "\" (normally used as the Escape character) in a special way (namely as a literal "\"). 2: The output "mean" "sd" "0\\%" "25\\%" "50\\%" "70\\%" "100\\%" from gsub("%", "\\%", temp1, fixed=TRUE) is one of those cases where R displays something different from what is really there! In other words, "0\\%" for example is the character string you would have to enter in order for R to store \%. You can see what is really there using cat: cat(gsub("%", "\\%", temp1, fixed=TRUE)) # mean sd 0\% 25\% 50\% 75\% 100\% which, of course, is what you wanted. You can see in other ways that what is stored is what you wanted -- for instance: temp2 <- gsub("%", "\\%", temp1, fixed=TRUE) write.csv(temp2,"gsub.csv") and then, if you look into gsub.csv outside of R, you will see: "","x" "1","mean" "2","sd" "3","0\%" "4","25\%" "5","50\%" "6","75\%" "7","100\%" which, again, is what you wanted. Hoping this helops, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 15-May-09 Time: 16:32:13 ------------------------------ XFMail ------------------------------ ______________________________________________ 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.