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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:31:33