R中数字的逗号分隔符?

时间:2010-10-01 11:36:41

标签: r

R中是否有一个函数显示用逗号分隔的大数字?

,即从10000001,000,000

4 个答案:

答案 0 :(得分:112)

您可以尝试format或prettyNum,但这两个函数都会返回一个字符向量。我只会用它来打印。

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

编辑:正如Michael Chirico在评论中所说:

请注意,这些会产生使用空格填充打印字符串的副作用,例如:

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

trim=TRUE添加到formatpreserve.width="none"添加到prettyNum以防止此情况发生:

> 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"

答案 1 :(得分:28)

请参阅?format

> format(1e6, big.mark=",", scientific=FALSE)
[1] "1,000,000" 
>   

答案 2 :(得分:9)

其他答案显然有用 - 但我一直使用

library(scales)    
comma_format()(1000000)

答案 3 :(得分:4)

我认为Joe对MatthewR的评论提供了最佳答案,应该强调:

截至2018年9月,scales程序包(Tidyverse的一部分)完全做到了这一点:

> library(scales)

> x <- 10e5
> comma(x)

[1] "1,000,000"

scales包与ggplot2的搭配看起来非常好,可以很好地控制图形和图表中数字的显示方式。