56

我正在通过 将数据框输出到 html xtable。我想在表格的几列中为数字添加逗号。我想在我自己做粘贴黑客之前,我会检查是否有内置的方法来做到这一点。

4

5 回答 5

74

您可能需要考虑使用formatC

> formatC(1:10 * 100000, format="d", big.mark=",")
 [1] "100,000"   "200,000"   "300,000"   "400,000"   "500,000"   "600,000"  
 [7] "700,000"   "800,000"   "900,000"   "1,000,000"
于 2009-10-17T02:56:04.390 回答
16

非常感谢 Jonathan Chang 的回答。formatC看起来是一个非常有用的功能。这激发了我阅读它的文档,我在其中找到prettyNum了 ,结果证明这是我遇到的类似问题的一个非常优雅的解决方案。这是我在名为enrollment.summary.

xtable(prettyNum(enrollment.summary,big.mark=","))

于 2012-02-16T17:49:49.020 回答
13

您也可以尝试使用函数参数“format.args”

  ## Demonstration of additional formatC() arguments.
  print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ","))

从这里

https://cran.rstudio.com/web/packages/xtable/xtable.pdf

于 2015-12-28T17:12:21.357 回答
10

这是一个迟到的答案,但您也可以使用scales::comma_format如下:

library(scales)
values <- c(1000000.789, 8888.23)
comma_format(digits = 12)(values)
## [1] "1,000,000.789" "8,888.230"

对于整数值,您可以只使用逗号:

int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"
于 2017-03-20T18:57:46.147 回答
7

格式化一些摘要dplyr,这里是样板代码:

df %>%
    summarise(mu=mean(big_values),
              min=min(big_values),
              max=max(big_values)) %>%
    mutate_each(funs(prettyNum(., big.mark=",")))
于 2016-09-09T23:24:20.687 回答