将逗号添加到数字中以输出

时间:2009-10-17 02:24:16

标签: r xtable

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

5 个答案:

答案 0 :(得分:59)

您可能需要考虑使用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"

答案 1 :(得分:13)

非常感谢Jonathan Chang的回答。 formatC看起来是一个非常有用的功能。这激发了我阅读它的文档,其中我找到了prettyNum,这对于我遇到的类似问题来说是一个非常优雅的解决方案。这是我在名为enrollment.summary的数据框中为数字添加逗号所做的最小可行示例。

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

答案 2 :(得分:8)

您也可以尝试使用功能参数' 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

答案 3 :(得分:6)

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

df %>%
    summarise(mu=mean(big_values),
              min=min(big_values),
              max=max(big_values)) %>%
    mutate_each(funs(prettyNum(., big.mark=",")))

答案 4 :(得分:6)

这是一个迟到的答案,但您也可以使用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"