[R] Why is format(10000, big.mark = "\\,") not 10\,000?

Duncan Murdoch murdoch.duncan at gmail.com
Thu Dec 30 19:58:16 CET 2010


On 30/12/2010 1:53 PM, Marius Hofert wrote:
> Dear Uwe,
>
>> Actually I expected
>>
>> format(10000, big.mark = "\\\\,")
>>
>> to work (you need to double excape the backslashes here).
>
> this I also tried :-)
>
>>
>> But the two characters are reversed due to the code in prettyNum(). Not sure if it is expected, but the user was probably not expected to use more than a single character as the big.mark.
>>
>> You can get it right by reversing as in:
>>
>> format(10000, big.mark = ",\\\\")
>
> but then I get "10\\,000" instead of "10\,000". The reason why I want to have "10\,000" is for use in LaTeX. If I produce the format "10\\,000" in a table, then xtable gives me 10$\backslash$,000 for the corresponding cell entry, which is wrong :-(. Do you know a trick for that?

I think you are confusing strings with the way they are printed.  "\\" 
is how a single backslash is printed (by print()), which escapes the \. 
  Use cat() to output it without adding the escape.

Duncan Murdoch

>
> Cheers,
>
> Marius
>
>>
>>
>> Uwe Ligges
>>
>>
>>
>>
>> On 30.12.2010 19:32, Marius Hofert wrote:
>>> Hi,
>>>
>>> why does format(10000, big.mark = "\\,") not give me "10\,000"? How can I get this kind of "big.mark"?
>>>
>>> Cheers,
>>>
>>> Marius
>>> ______________________________________________
>>> R-help at 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.
>
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list