np2
ANOVA の場合、部分イータ 2 乗 ( ) 効果サイズはeffectsize::eta_squared
次の式で簡単に取得できます。
> model <- aov(mpg ~ factor(cyl), data = mtcars)
> effectsize::eta_squared(model)
For one-way between subjects designs, partial eta squared is equivalent to eta squared.
Returning eta squared.
# Effect Size for ANOVA
Parameter | Eta2 | 90% CI
---------------------------------
factor(cyl) | 0.73 | [0.57, 0.82]
さらに、 SPSS でMANOVAを実行しながらnp2
、「効果量の推定」ボックスをチェックするだけで、DV ごとに簡単に取得できます。
ただし、np2
R で各 DVを取得しようとすると、次のようになります。
> model <- manova(cbind(mpg, hp) ~ factor(cyl), data = mtcars)
> effectsize::eta_squared(model)
# Effect Size for ANOVA (Type I)
Parameter | Eta2 (partial) | 90% CI
-------------------------------------------
factor(cyl) | 0.46 | [0.28, 0.57]
またはまだ:
> heplots::etasq(model)
eta^2
factor(cyl) 0.4564352
np2
DV ごとに個別のエフェクト サイズではなく、単一の (グローバル モデル用?) のみを出力します。
?eta_squared
ノートのドキュメント:
mlm / maov モデルの場合、効果サイズは応答ごとに個別に計算されます
しかし、これは明らかにここでのケースに注意してください。それでも、オブジェクトのクラスを確認すると、クラスが含まれていますmaov
:
> class(model)
[1] "manova" "maov" "aov" "mlm" "lm"
もちろん、個別のモデルを定義することで、効果サイズごとに anova を再実行できます。
> model <- aov(mpg ~ factor(cyl), data = mtcars)
> effectsize::eta_squared(model)
Parameter | Eta2 | 90% CI
---------------------------------
factor(cyl) | 0.73 | [0.57, 0.82]
> model <- aov(hp ~ factor(cyl), data = mtcars)
> effectsize::eta_squared(model)
Parameter | Eta2 | 90% CI
---------------------------------
factor(cyl) | 0.71 | [0.55, 0.80]
またはlapply
、各モデルの呼び出しを記述します。
aov.list <- list(model1 <- aov(mpg ~ factor(cyl), data = mtcars),
model2 <- aov(hp ~ factor(cyl), data = mtcars))
lapply(aov.list, effectsize::eta_squared)
[[1]]
Parameter | Eta2 | 90% CI
---------------------------------
factor(cyl) | 0.73 | [0.57, 0.82]
[[2]]
Parameter | Eta2 | 90% CI
---------------------------------
factor(cyl) | 0.71 | [0.55, 0.80]
しかし、それは最も効率的ではないようです。確かに、これを行う方法はありeffectsize::eta_squared
ますか?
質問
各DVのRのMANOVAの部分イータを正しい方法で二乗するにはどうすればよいですか?