如何用R的gtsummary生成疼痛变量的整体均值与标准差?
解决方案
问题出在gtsummary的自动变量类型识别上——你的pain_p0和pain_p3虽然是数值型,但因为水平数有限,被默认识别为分类变量,所以输出了各水平的频数统计。要输出整体均值和标准差,需要强制指定变量为连续型:
修正后的代码
table3 <- select(df_pcn, pain_p0, pain_p3) %>% tbl_summary( # 强制指定变量为连续型 type = list(pain_p0 ~ "continuous", pain_p3 ~ "continuous"), # 设置输出均值+标准差的格式 statistic = all_continuous() ~ "{mean} ({sd})", # 可选:控制均值和标准差的小数位数,比如保留2位 digits = all_continuous() ~ 2 ) table3
关键说明
type参数:强制告诉gtsummary把指定变量按连续型变量处理,跳过自动分类识别逻辑。statistic参数:定义连续型变量的输出格式,{mean}和{sd}分别对应均值和标准差,你可以根据需求调整格式(比如只输出均值就用"{mean}")。digits参数:可选,用于统一控制统计量的小数位数,避免结果小数位数混乱。
内容的提问来源于stack exchange,提问作者Greg Kawchuk
相关产品推荐
相关产品推荐

