Comma separator for numbers in R?

You can try either format or prettyNum, but both functions return a vector of characters. I’d only use that for printing.

> prettyNum(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"
> format(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"

EDIT: As Michael Chirico says in the comment:

Be aware that these have the side effect of padding the printed strings with blank space, for example:

> prettyNum(c(123,1234),big.mark=",")
[1] "  123" "1,234"

Add trim=TRUE to format or preserve.width="none" to prettyNum to prevent this:

> prettyNum(c(123,1234),big.mark=",", preserve.width="none")
[1] "123"   "1,234"
> format(c(123,1234),big.mark=",", trim=TRUE)
[1] "123"   "1,234"

Leave a Comment