R语言如何指定列转百分比并格式化货币千分位,解决gt_tbl报错
报错原因
fmt_percent是gt包的专属格式化函数,仅支持对gt_tbl类型的表格对象操作,你当前直接在dplyr输出的普通数据框上调用该函数,类型不匹配因此触发报错。
调整后完整代码
library(gt) library(dplyr) Combined %>% group_by(`Processing Server`) %>% summarise(Transaction_count = n(), Face_value = sum(FaceValue)) %>% mutate(Count_contribution = Transaction_count/sum(Transaction_count)) %>% # 先转换为gt表格对象,解决类型报错 gt() %>% # 贡献占比设置为百分比格式,保留1位小数 fmt_percent(columns = Count_contribution, decimals = 1) %>% # 交易次数字段加千位分隔符,保留0位小数 fmt_number(columns = Transaction_count, decimals = 0) %>% # 面值字段加货币格式,默认显示美元符号,需其他货币可修改currency参数,如currency = "CNY"显示人民币符号 fmt_currency(columns = Face_value, currency = "USD")
如果不需要渲染可交互的gt表格,仅需要输出带格式的静态文本表格,也可以替换为formattable包实现同类需求,适配性更强。
内容的提问来源于stack exchange,提问作者Yomi.blaze93
相关产品推荐
相关产品推荐

