多时间点配对t检验实现求助:R语言pairwise_t_test代码无效问题
多组配对样本t检验问题修正方案
我有一个包含6个时间点的数据集,想用多组配对样本t检验比较得分,数据集已经转成长格式,目标是生成指定样式的统计表格,但运行以下R代码失败了:
stat.test <- anxiety_score %>% group_by(group) %>% pairwise_t_test( anxiety_score ~ time, paired = TRUE, p.adjust.method = "bonferroni" ) %>% select(-df, -statistic, -p) # Remove details stat.test
常见问题排查与修正
- 先确认已加载
dplyr和rstatix包,pairwise_t_test是rstatix的专属函数,未加载包会直接报错 - 检查数据集列名:确保
anxiety_score(得分列)、time(时间点列)、group(分组列)拼写完全正确,无大小写或笔误 - 配对t检验要求每个分组内,每个受试者在所有时间点都有对应数据,可先用
count(anxiety_score, group, time)检查各时间点样本量是否一致,避免因缺失值或配对不匹配导致错误
修正后的代码
# 加载必需的包 library(dplyr) library(rstatix) # 可选:查看数据结构,确认列名和数据类型是否正确 glimpse(anxiety_score) # 执行配对t检验并保留关键统计量 stat.test <- anxiety_score %>% group_by(group) %>% pairwise_t_test( anxiety_score ~ time, paired = TRUE, p.adjust.method = "bonferroni", detailed = TRUE # 保留完整统计量,方便后续整理表格 ) %>% # 筛选并重命名列,适配表格展示需求 select(group, group1, group2, p, p.adj, p.adj.signif) %>% rename( 分组 = group, 时间点1 = group1, 时间点2 = group2, 原始p值 = p, 校正后p值 = p.adj, 显著性标记 = p.adj.signif ) # 查看整理后的统计结果 stat.test
美化表格(可选)
如果要生成更贴合需求的可视化表格,可以用flextable包优化输出样式:
library(flextable) stat.test %>% flextable() %>% set_caption("不同分组各时间点焦虑得分配对t检验结果") %>% theme_booktabs() # 应用学术风格表格样式
内容的提问来源于stack exchange,提问作者Zhen
相关产品推荐
相关产品推荐

