如何使用gtsummary进行重复测量ANOVA分析?
可以用gtsummary实现重复测量ANOVA分析
当然可行,gtsummary可以很好地适配重复测量ANOVA的结果输出,下面结合你的数据集给出具体实现步骤:
1. 安装并加载所需包
首先确保安装了gtsummary:
# 首次运行时安装包 install.packages("gtsummary") # 加载包 library(gtsummary)
2. 拟合重复测量ANOVA模型
你的数据是长格式(每个被试的每个时间点对应一行),可以用aov()函数拟合重复测量ANOVA,指定被试内误差项:
# 拟合单组重复测量ANOVA模型 rm_anova_model <- aov(value ~ Day + Error(Participant.ID/Day), data = smpl)
这里Error(Participant.ID/Day)表示以Participant.ID为被试、Day为被试内因素的误差结构,适配重复测量的设计逻辑。
3. 用gtsummary输出格式化分析表格
使用tbl_anova()函数将模型结果转换为美观的可复用表格:
# 生成并调整汇总表格 tbl_anova(rm_anova_model) %>% modify_caption("单组重复测量ANOVA分析结果(因变量:value,时间点:Day)") %>% bold_labels()
表格会自动展示Day因素的F值、自由度、p值等关键统计量,同时支持自定义标题、加粗标签等格式调整。
补充:多组重复测量ANOVA(若后续扩展数据)
如果后续数据中Randomization包含多个分组水平,可以拟合包含分组与时间交互项的模型:
# 拟合多组重复测量ANOVA模型 rm_anova_group_model <- aov(value ~ Randomization*Day + Error(Participant.ID/Day), data = smpl) # 输出分组分析结果 tbl_anova(rm_anova_group_model) %>% modify_caption("多组重复测量ANOVA分析结果(分组:Randomization,时间点:Day)")
替代方案:线性混合模型(无需球形假设)
若重复测量ANOVA的球形假设不成立,可改用lme4拟合线性混合模型,再用gtsummary输出结果:
# 安装并加载lme4包 install.packages("lme4") library(lme4) # 拟合线性混合模型 lmer_model <- lmer(value ~ Day + (1|Participant.ID), data = smpl) # 输出模型结果 tbl_regression(lmer_model, intercept = FALSE) %>% modify_caption("线性混合模型分析结果(被试随机效应:Participant.ID)")
内容的提问来源于stack exchange,提问作者CamCaan
相关产品推荐
相关产品推荐

