如何使用table1包移除均值和中位数行仅保留缺失值行?
用table1包仅保留缺失值行的实现方法
要移除table1生成表格中的均值、中位数行,只保留缺失值统计,核心是自定义连续变量的统计量渲染函数,覆盖默认输出逻辑,具体代码如下:
library(table1) # 自定义连续变量的渲染函数,仅返回缺失值的数量和占比 my.render.continuous <- function(x, ...) { n_miss <- sum(is.na(x)) # 统计缺失值个数 pct_miss <- round(n_miss / length(x) * 100, 1) # 计算缺失值占比(保留1位小数) sprintf("%d (%.1f%%)", n_miss, pct_miss) # 格式化输出字符串 } # 调用table1时指定自定义渲染函数 table <- table1(~ unfedprcnt + stuntPerc5 | Country, data = sdg2, render.continuous = my.render.continuous)
补充说明:
- 上述自定义函数针对连续变量设计,会直接替换默认的均值、中位数等统计项,仅展示缺失值的数量与占比。
- 如果数据包含分类变量,可参照相同逻辑自定义
render.categorical函数,仅保留分类变量的缺失值统计。
内容的提问来源于stack exchange,提问作者Emily
相关产品推荐
相关产品推荐

