繁体   English   中英

R中数字的逗号分隔符?

[英]Comma separator for numbers in R?

R中是否有显示用逗号分隔的大数字的功能?

即,从10000001,000,000

您可以尝试 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=TRUEformatpreserve.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"

?format

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

发布的其他答案显然有效 - 但我一直使用

library(scales)    
comma_format()(1000000)

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

截至 2018 年 9 月, scales包( Tidyverse一部分)正是这样做的:

> library(scales)

> x <- 10e5
> comma(x)

[1] "1,000,000"

scales包似乎与ggplot2配合得很好,可以很好地控制数字在绘图和图表中的显示方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM