我在受试者之间进行2(性别(x 2(建议(ANOVA,R和SPSS都报告了相同的ANOVA统计数据:建议:F=372.012,影响df=1,误差df=661;性别x建议:F=45.449,效果df=1,错误df=2。
在计算偏η平方时,R(跨多个R包:rstatix和DescTools(报告建议为0.221,性别x建议为0.031。但是,SPSS和使用Lakens的效应大小电子表格(https://osf.io/ixgcd/)咨询结果为0.360,性别x咨询结果为0.064。
R是否以与标准不同的方式计算偏η平方值?
以下是一个样本数据集,仅包含测试问题所需的变量:https://docs.google.com/spreadsheets/d/15AIyIfTi9YgMWM5FTl163uddPx1E19xfaU-vMDRlJuI/edit?usp=sharing
这是我在RStudio中使用的代码:
# load packages
library(haven)
library(rstatix)
library(DescTools)
# read in data
sample_data <- read_sav([insert file location])
# gather Perception1 and Perception2 into 2 groups
sample_data <- sample_data %>%
gather(key = "Advice", value = "MaleDom", Perception1,
Perception2) %>%
convert_as_factor(ResponseId, Advice)
# rstatix
# compute anova
anova <- aov(MaleDom ~ Gender*Advice, data = sample_data)
# partial eta squared
partial_eta_squared(anova)
# DescTools
# partial eta squared
EtaSq(anova, type = 2, anova = FALSE)
这是我在SPSS中使用的语法:
GLM Perception1 Perception2 BY Gender
/WSFACTOR=advice 2 Polynomial
/METHOD=SSTYPE(3)
/POSTHOC=Gender(BTUKEY)
/PLOT=PROFILE(Gender*advice)
/PRINT=DESCRIPTIVE ETASQ HOMOGENEITY
/CRITERIA=ALPHA(.05)
/WSDESIGN=advice
/DESIGN=Gender.
注:我使用的是SPSS版本26和R版本3.6.3。我有一个64位操作系统的Windows10。
使用它来定义数据:
d.dat <- structure(list(ResponseId = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30), Gender = c("Woman", "Woman", "Woman", "Woman",
"Woman", "Woman", "Woman", "Woman", "Woman", "Woman", "Woman",
"Woman", "Woman", "Woman", "Woman", "Man", "Man", "Man", "Man",
"Man", "Man", "Man", "Man", "Man", "Man", "Man", "Man", "Man",
"Man", "Man"), Perception1 = c(3.33, 4, 3.67, 1.33, 5.33, 4,
6.67, 3.33, 4, 3.67, 4.33, 3.33, 5.33, 1, 2, 6.67, 6.33, 5, 5.33,
7, 5, 4.67, 4.33, 6, 5.33, 4, 4.33, 4, 7, 3.33), Perception2 = c(6,
6.33, 4, 5, 7, 6, 5, 6.67, 4.67, 5, 5.67, 7, 4, 6, 5.67, 4.67,
6.33, 6, 5, 4.67, 5, 6, 4, 5.33, 4, 5, 5.67, 4.67, 6, 6.33)), class = "data.frame",
row.names = c(NA, -30L))
感谢您提供示例数据。你得到不同的偏eta平方值有三个可能的原因:
- 在SPSS中,您指定
Advice
是一个重复测量因子,而在R中,您将其视为受试者之间的因子 - 您在SPSS中使用受试者内因子
Advice
的多项式对比,而在R中使用治疗对比 - 您使用的是SPSS中的III型平方和和和R中的I型平方和
您可以在R中指定重复测量ANOVA(分割图设计(,如下所示:
anova <- aov(MaleDom ~ Gender*Advice + Error(ResponseId/Advice), data=sample_data)
然后
EtaSq(anova, type=1, anova=FALSE) # note type=1, not 3!
Advice
(样本数据(的偏η平方为0.2659604。这等于SPSS的输出,语法如下:
GLM Perception1 Perception2 BY Gender
/WSFACTOR=Advice 2 Simple
/MEASURE=MaleDom
/CONTRAST(Gender)=Deviation(1)
/METHOD=SSTYPE(1)
/PRINT=ETASQ
/CRITERIA=ALPHA(.05)
/WSDESIGN=Advice
/DESIGN=Gender.
请注意,来自包rstatix
的partial_eta_squared()
不处理重复测量aov()
对象,但来自包effectsize
的eta_squared(anova)$Eta_Sq_partial
给出与来自DescTools
的EtaSq()
相同的输出。