[R] Printing a single "\" character

Duncan Murdoch murdoch at stats.uwo.ca
Tue Apr 19 18:08:46 CEST 2005


Firas Swidan wrote:
> Hi,
> I have a small R question: how to print a single "\" character? I have the
> following results:
> 
>>print("\") does not work
> 
> 
>>print("\\")
> 
> [1] "\\"

You can use the lower level function cat() to print exactly what you want:

 > cat("\\")
\>

Notice that not even a newline was printed after the backslash, so the 
prompt showed up on the same line.  To get what you were hoping for you 
could use

 > cat("[1] \"\\\"\n")
[1] "\"

but it's pretty hard to read, because of all the escapes.

> 
> I need to make the following substitution as well, but it does not work
> either:
> 
>>sub("_","\_","g_g")
> 
> [1] "g_g"

I'm not sure what you want to get, but it might be

 > cat( sub("_", "\\\\_", "g_g") ); cat("\n")
g\_g

The extra escapes are necessary because you need to send \\ to sub so 
that it outputs a \.

Duncan Murdoch




More information about the R-help mailing list