如何在 r 中计算 eta 平方
它衡量方差分析模型中与每个主效应和交互效应相关的方差比例,计算公式如下:
Eta 平方 = SS效果/总SS
金子:
- SS效应:变量效应的平方和。
- 总SS: ANOVA 模型中的总平方和。
Eta 平方的值范围从 0 到 1,其中值越接近 1 表示模型中给定变量可以解释的方差比例越高。
以下经验法则用于解释 Eta 平方值:
- .01:效应量小
- .06:平均效应大小
- .14或更大:效应量大
本教程提供了如何计算 R 方差分析模型中变量的 Eta 平方的分步示例。
第 1 步:创建数据
假设我们想要确定运动强度和性别是否会影响减肥。
为了测试这一点,我们招募了 30 名男性和 30 名女性参加一项实验,其中我们随机分配每人 10 人遵循一个月的无运动、轻度运动或剧烈运动计划。
以下代码展示了如何创建一个数据框来保存我们正在使用的数据:
#make this example reproducible set.seed(10) #create data frame data <- data.frame(gender= rep (c(" Male ", " Female "), each = 30), exercise= rep (c(" None ", " Light ", "Intense"), each = 10, times =2), weight_loss=c(runif(10, -3, 3), runif(10, 0, 5), runif(10, 5, 9), runif(10, -4, 2), runif(10, 0, 3), runif(10, 3, 8))) #view first six rows of data frame head(data) # gender exercise weight_loss #1 Male None 0.04486922 #2 Male None -1.15938896 #3 Male None -0.43855400 #4 Male None 1.15861249 #5 Male None -2.48918419 #6 Male None -1.64738030 #see how many participants are in each group table(data$gender, data$exercise) # Intense Light None # Female 10 10 10 # Male 10 10 10
第 2 步:拟合方差分析模型
以下代码显示了如何使用运动和性别作为因素以及体重减轻作为响应变量来拟合双向方差分析:
#fit the two-way ANOVA model model <- aov(weight_loss ~ gender + exercise, data = data) #view the model output summary(model) Df Sum Sq Mean Sq F value Pr(>F) gender 1 15.8 15.80 9.916 0.00263 ** exercise 2 505.6 252.78 158.610 < 2nd-16 *** Residuals 56 89.2 1.59
第 3 步:计算 Eta 平方
我们可以使用lsr包中的etaSquared()函数计算模型中每个变量的 Eta 平方效应大小:
#load lsr package library (lsr) #calculate Eta Squared etaSquared(model) eta.sq eta.sq.part gender 0.0258824 0.1504401 exercise 0.8279555 0.8499543
性和运动的 Eta 平方如下:
- 性别的 Eta 平方: 0.0258824
- 练习的 Eta 平方: 0.8279555
我们可以得出结论,运动的影响大小非常大,而性别的影响大小相当小。
这些结果对应于 ANOVA 表结果中显示的 p 值。运动的 p 值 (<0.000) 远小于性别的 p 值 (0.00263),表明运动在预测体重减轻方面更为重要。
其他资源
以下教程解释了如何在 R 中拟合不同的方差分析模型: