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

使用gtsummary的tbl_summary时分类变量占比求和不为100的解决方法

解决gtsummary中分类变量百分比求和不为100%的问题

这是四舍五入精度导致的常见现象。当分类变量各水平的百分比被默认四舍五入到整数时,求和可能会偏离100%。以mtcars的gear和carb变量为例,它们的原始百分比带有小数,四舍五入后就可能出现总和偏差。

以下是几种解决方法:

  • 方法1:保留更多小数位
    通过指定统计量格式,让百分比显示更多小数位,确保总和精确到100%:

    library(gtsummary)
    data(mtcars)
    
    tbl <- tbl_summary(mtcars,
                       statistic = list(all_categorical() ~ "{n} ({p1})%"))
    tbl
    

    这里p1表示保留1位小数,你也可以用p2保留2位,以此类推。

  • 方法2:开启自动调整四舍五入
    使用rounding参数让gtsummary自动微调百分比,强制总和为100%:

    tbl <- tbl_summary(mtcars,
                       rounding = list(percent = "adjust"))
    tbl
    

    这个设置会自动调整其中一个水平的百分比小数位,确保所有分类水平的百分比加起来正好是100%。

  • 方法3:明确指定变量类型
    虽然gtsummary默认会把少水平的数值变量识别为分类,但明确指定变量类型可以避免潜在的识别偏差:

    tbl <- tbl_summary(mtcars,
                       type = list(gear ~ "categorical", carb ~ "categorical"))
    tbl
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 09:00:10