如何在rstatix的anova_test函数中同时获取ges与pes效应量?
解决rstatix::anova_test无法同时返回ges和pes效应量的问题
1. 优先更新rstatix到最新版本
旧版rstatix存在无法同时输出ges和pes的bug,这是最常见的原因。先执行更新:
install.packages("rstatix") library(rstatix)
更新后重新运行你的测试代码:
library(WRS2) data(hangover) anova_test( data = hangover, dv = symptoms, wid = id, between = group, within = time, effect.size = c("ges", "pes") )
正常情况下,输出结果会同时包含pes和ges两列效应量。
2. 若更新后仍异常,手动合并两种效应量
如果更新后还是只返回一种效应量,可以分开计算后合并结果:
# 分别计算两种效应量的结果 res_pes <- anova_test( data = hangover, dv = symptoms, wid = id, between = group, within = time, effect.size = "pes" ) res_ges <- anova_test( data = hangover, dv = symptoms, wid = id, between = group, within = time, effect.size = "ges" ) # 合并结果(保留所有统计量,同时包含两种效应量) library(dplyr) res_combined <- res_pes %>% select(-effect.size) %>% left_join(res_ges %>% select(term, ges), by = "term")
3. 用其他包交叉验证效应量
如果需要确认效应量的准确性,可以借助effectsize包直接从混合模型中提取两种效应量:
library(effectsize) library(lme4) # 拟合混合效应模型 fit <- lmer(symptoms ~ group * time + (1 + time | id), data = hangover) # 输出带两种效应量的方差分析表 anova(fit, effect_size = c("ges", "pes"))
内容的提问来源于stack exchange,提问作者curious
相关产品推荐
相关产品推荐

