如何用tbl_continuous展示连续变量均值与中位数?能否分两行显示?
使用tbl_continuous展示均值和中位数的正确方法
正确语法与分两行显示实现
你可以通过配置statistic参数让均值和中位数分两行展示,同时注意统计量的合理搭配(中位数通常搭配四分位数间距而非标准差)。修正后的代码如下:
comparison.data %>% select(imaging, los.minutes, acuity) %>% tbl_continuous( by = imaging, variable = los.minutes, statistic = los.minutes ~ c("{mean} ({sd})", "{median} ({p25}, {p75})") ) %>% modify_spanning_header(all_stat_cols() ~ "**Imaging status**")
如果需要自定义行标签(模仿tbl_summary的continuous2参数效果),可以用modify_table_body调整:
comparison.data %>% select(imaging, los.minutes, acuity) %>% tbl_continuous( by = imaging, variable = los.minutes, statistic = los.minutes ~ c("{mean} ({sd})", "{median} ({p25}, {p75})") ) %>% modify_table_body( mutate, label = case_when( row_type == "statistic" & row_number() == 1 ~ "Mean (SD)", row_type == "statistic" & row_number() == 2 ~ "Median (IQR)", TRUE ~ label ) ) %>% modify_spanning_header(all_stat_cols() ~ "**Imaging status**")
关键说明
tbl_continuous的statistic参数支持为单个变量指定多个统计量表达式,每个表达式对应表格中的一行。- 中位数搭配四分位数间距是更规范的统计呈现方式,若坚持用标准差也可保留原写法,但需注意合理性。
- 通过
modify_table_body自定义行标签,能实现和tbl_summary的continuous2参数一致的清晰分行效果。
内容的提问来源于stack exchange,提问作者JMR
相关产品推荐
相关产品推荐

