R中是否有一个函数显示用逗号分隔的大数字?
,即从1000000
到1,000,000
。
答案 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"
请注意,这些会产生使用空格填充打印字符串的副作用,例如:
> prettyNum(c(123,1234),big.mark=",")
[1] " 123" "1,234"
将trim=TRUE
添加到format
或preserve.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
的搭配看起来非常好,可以很好地控制图形和图表中数字的显示方式。