如何为gtsummary::tbl_continuous添加组间统计检验结果列
解决gtsummary添加组间检验p值的问题
你的代码核心问题是未指定row参数按Group拆分表格行,导致仅展示整体统计量而非按分组生成每行的检验结果。以下是修正后的方案:
修正后代码
library(tidyverse) library(gtsummary) set.seed(123) # 设置随机种子确保结果可复现 df <- tibble( Group = as.factor(c(rep('A', 8), rep('B', 8), rep('C', 8))), Variable = as.factor(rep(c(rep('x', 4), rep('y', 4)), 3)), Value = runif(24, 0, 10) ) df %>% tbl_continuous( variable = Value, # 需统计的连续变量 by = Variable, # 组间对比的分组变量(x/y) row = Group # 按Group拆分表格行 ) %>% add_p( test = list(Value ~ "t.test") # 明确指定t检验,两组对比时可省略(默认就是t检验) )
说明
- 新增
row = Group参数后,表格会按Group的A/B/C生成三行,每行对应一个分组下x和y的统计量(如均值±标准差)。 add_p()会自动为每行执行组间检验:两组对比时默认用t检验,多组对比时自动切换为ANOVA;也可通过test参数指定其他检验方法(如kruskal.test用于非参数检验)。- 生成的表格最后一列会展示对应分组下x与y的检验p值。
内容的提问来源于stack exchange,提问作者bmacwilliams
相关产品推荐
相关产品推荐

