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

Dan*_*Dan 47 r xtable

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

Jon*_*ang 65

您可能需要考虑使用转换列 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"
Run Code Online (Sandbox Code Playgroud)


小智 14

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

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

  • 另请注意,`prettyNum`会为您的输出填充(可能不需要的)空白区域:prettyNum(c(123,1234),big.mark =","); 给出"123""1,234".添加preserve.width ="none"来防止这种情况发生. (3认同)

use*_*059 10

您也可以尝试使用fuction参数'format.args'

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

从这里

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


ste*_*veb 7

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

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

对于只是整数值,您只需使用逗号:

int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"
Run Code Online (Sandbox Code Playgroud)


Pau*_*aul 6

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

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