You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多时间点配对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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:25:22