group_by结合pairwise_t_test未返回统计量和自由度的问题
问题原因及解决办法
出现这种情况主要是因为你使用的pairwise_t_test(大概率来自rstatix包)的分组处理逻辑导致的:
- 当用
group_by()配合pairwise_t_test()时,函数默认会以分组为单位输出精简的对比结果,哪怕设置了detailed=TRUE,分组上下文也会覆盖这个参数的作用,导致统计量、自由度这类细节字段没被包含在最终输出里。 - 另一个可能是旧版本rstatix的分组参数兼容问题,分组环境下
detailed参数没有被正确传递到每个分组的独立检验计算中。
解决办法
方法一:拆分分组单独计算(推荐)
不用group_by(),改用nest_by()拆分数据后对每个分组单独运行检验,确保detailed=TRUE生效:
library(tidyverse) library(rstatix) pwc <- df %>% nest_by(group) %>% mutate(test_result = list(data %>% pairwise_t_test( value ~ variable1, paired = TRUE, p.adjust.method = "bonferroni", detailed = TRUE ))) %>% unnest(test_result)
这样输出的pwc就会包含统计量、自由度以及所有详细结果。
方法二:更新rstatix包
如果是旧版本包的bug,更新到最新版本可能直接解决分组时的参数失效问题:
install.packages("rstatix")
内容的提问来源于stack exchange,提问作者mehtam
相关产品推荐
相关产品推荐

