我正在通过xtable
将数据框输出到html。我想在表格的几列中为数字添加逗号。我想在我做自己的粘贴黑客之前,我会检查是否有内置的方法来执行此操作。
答案 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 = ","))
从这里
答案 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"