gtsummary包tbl_summary函数:百分比计算及双百分号问题
关于gtsummary包tbl_summary函数的问题解答
问题1:让分类变量百分比基于整个队列总数
要让sepal_c的百分比以整个数据集的总样本量为基准,需在statistic参数中使用gtsummary内置的总样本相关占位符:
{N}:代表整个数据集的总样本数{p.tot}:代表基于总样本数计算的百分比
修改后的代码如下:
tb_iris <- iris %>% select(Species, Sepal.Length) %>% mutate(sepal_c = ifelse(Sepal.Length > 5, "Big", ifelse(Sepal.Length < 5 & Sepal.Length >= 4, "Medium", "Short")), sepal_c = replace(sepal_c, sepal_c == "Medium", NA)) %>% tbl_summary(by = Species, missing = "no", statistic = sepal_c ~ c("{n}/{N} ({p.tot}%)"))
调整后输出的结果中,分母会是整个队列的总样本数,百分比也基于总样本计算,符合你期望的22/50=44%格式。
问题2:结果显示双百分号(已解决)
双百分号问题通常是因为在statistic参数中手动添加了%符号,而gtsummary的{p}或{p.tot}占位符本身已自带%标记。解决方法是移除手动添加的%,直接使用占位符即可:
- 错误写法:
"{n}/{N} {p}%"→ 会显示xx%% - 正确写法:
"{n}/{N} {p}"→ 显示xx%
内容的提问来源于stack exchange,提问作者Plinio Leal
相关产品推荐
相关产品推荐

