2015-10-18 247 views
1

任何人都知道如何在R中设置千位分隔符?
我想在这样的输出某物得到:如何在R中设置千位分隔符?

123 425 231 

123.425.231 

代替:

123425231 

感谢。

+2

使用'formatC' .... –

+0

至少不用点,他们中的R指示小数的标准方式。 – Jaap

+0

找到这篇文章,为您的问题更多的答案,http://stackoverflow.com/questions/3838774/comma-separator-for-numbers-in-r –

回答

3

你可以试试这个:

x <- 123456789101112 
formatC(x, format="f", big.mark = ",", digits=0) 
#[1] "123,456,789,101,112" 

当然,只要你喜欢,你可以改变“big.mark”的入口,例如,用空格代替它。

+0

谢谢。它的简单和方便的解决方案,但它不适用于大数字(大于11位数字)。 – max04

+0

@MariuszLiksza您可以尝试更改为'format ='f'' – akrun

+0

@MariuszLiksza请检查编辑后的版本。对于大整数,最好使用'format =“f”'转换为浮点数,正如我最初发布的和@akrun建议的那样。 – RHertel

3

通过正则表达式,

gsub("(?!^)(?=(?:\\d{3})+$)", ".", '53332', perl=T) 
# [1] "53.332" 
gsub("(?!^)(?=(?:\\d{3})+$)", ".", '533382', perl=T) 
# [1] "533.382" 
gsub("(?!^)(?=(?:\\d{3})+$)", ".", '5333829', perl=T) 
# [1] "5.333.829" 
gsub("(?!^)(?=(?:\\d{3})+$)", ",", '5333829', perl=T) 
# [1] "5,333,829"