You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在table1包的连续统计量格式化中添加千位分隔符?

为table1包的连续统计量添加千位分隔符

要给table1包的连续变量统计量(均值、标准差)添加千位分隔符,只需在原有格式化代码中,用R的format()或prettyNum()函数对计算后的统计值做处理即可,以下是两种可行方案:

方案1:分步处理统计值

my.render.cont <- function(x) {
    # 先计算并保留两位小数的统计量
    stats <- stats.apply.rounding(stats.default(x), digits = 2)
    
    # 为均值和标准差添加千位分隔符,同时固定两位小数
    mean_formatted <- format(stats$MEAN, big.mark = ",", nsmall = 2)
    sd_formatted <- format(stats$SD, big.mark = ",", nsmall = 2)
    
    # 拼接成最终显示的字符串
    c("", "Mean (SD)" = sprintf("%s (&plusmn; %s)", mean_formatted, sd_formatted))
}

方案2:在sprintf中直接嵌套格式化

my.render.cont <- function(x) {
    with(stats.apply.rounding(stats.default(x), digits = 2),
         c("", "Mean (SD)" = sprintf("%s (&plusmn; %s)", 
                                    # 对均值添加千位分隔符
                                    format(MEAN, big.mark = ",", nsmall = 2), 
                                    # 对标准差添加千位分隔符
                                    format(SD, big.mark = ",", nsmall = 2))))
}

关键参数说明

  • big.mark = ",":指定千位分隔符为逗号,若需要用空格作为分隔符,改为big.mark = " "即可。
  • nsmall = 2:强制保留两位小数,和原代码中digits = 2的设置保持一致,避免格式混乱。
  • 也可以用prettyNum()替代format(),效果完全相同,例如:prettyNum(MEAN, big.mark = ",", nsmall = 2)。

修改后,生成的table1表格中,类似1234.56的数值会显示为1,234.56,符合千位分隔的格式要求。

内容的提问来源于stack exchange,提问作者Thomas Speidel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:33:13