在混合方差分析中计算 Omega² 和部分 Omega²

Calculate Omega² and partial Omega² in mixed-Anova

我正在分析混合设计中的数据,使用 afex 包中的 aov_car() 在因子之间有 1 个,因子之内有 1 个。

我尝试使用 sjstats 包中的 anova_stats(),它非常适合内部设计或设计间设计,但会抛出错误:

Fehler in UseMethod("anova") : 
nicht anwendbare Methode für 'anova' auf Objekt der Klasse "Anova.mlm" angewendet

英文错误(Google 翻译):

Error in UseMethod ("anova"):
non-applicable method for 'anova' applied to object of class "Anova.mlm"

表示 aov_car()

的返回数据类型存在问题
library(sjstats)
library(afex)
data <- data.frame(ID = rep(c(1:24), each = 4),
              list = rep(c(1:4), 24),
              prop = rnorm(96, 0.8, 0.2),
              treatment = rep(c(1:4), each = 24))
data$treatment <- as.factor(data$treatment)
data$list <- as.factor(data$list)

testAov <- aov_car(prop~list*treatment + Error(ID/list), data=data, return = "Anova")
anova_stats(testAov)

如果有人能帮我解决这个问题,我将不胜感激!

关于我的系统和 R 版本的信息:

    R version 3.6.0 (2019-04-26)  
    Platform: x86_64-pc-linux-gnu (64-bit)  
    Running under: Arch Linux

我刚刚弄清楚出了什么问题。 aov_car()中的return必须设置为"aov"。 所以使用这段代码对我有用:

testAov <- aov_car(prop~list*treatment + Error(ID/list), data=data, return = "aov")
anova_stats(testAov)