상호작용 분석하기
다원분산분석에서 유의미한 상호작용이 발견되었을 때, 이 상호작용이 어떻게 작용하는지 파악하기 위해 단순 효과(simple effect)를 분석한다.
ind.csv를 다운로드 받아 연다.
dat = read.csv('ind.csv')
독립변수가 국가(country
)와 성별(gender
)이고 종속변수는 개인주의 점수(ind
)이다.
head(dat)
country gender ind 1 A F 88 2 A F 103 3 A F 111 4 A F 77 5 A F 104 6 A M 65
먼저 이원분산분석을 실시:
m = aov(ind ~ country * gender, dat)
summary(m)
Df Sum Sq Mean Sq F value Pr(>F) country 1 2486 2486.4 21.12 0.000299 *** gender 1 2904 2904.0 24.66 0.000140 *** country:gender 1 1394 1394.4 11.84 0.003355 ** Residuals 16 1884 117.7 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
국가, 성별 그리고 국가와 성별의 상호작용이 모두 유의미하다.
이제 단순 효과를 확인해보자. 우선 성별, 국가별 개인주의 점수의 평균을 구한다.
library(dplyr)
group_by(dat, country, gender) %>% summarize(mean(ind))
country gender mean(ind) 1 A F 96.6 2 A M 55.8 3 K F 57.6 4 K M 50.2
A
국 여성(F
)의 평균은 96.6점, A
국 남성(M
)의 평균은 55.8점이고, K
국 여성은 57.6, 남성은 50.2점이다.
단순효과의 검정을 위해 phia
패키지가 필요하다. 없다면 install.packages('phia')
로 설치한다.
library(phia)
먼저 국가를 고정시켰을 때, 성별 차이를 확인한다.
options(scipen=6) # 4.11e-05 처럼 표기되는 것을 막아준다.
testInteractions(
m,
fixed = "country",
across = "gender",
data = dat
)
Value Df Sum of Sq F Pr(>F) A 40.8 1 4161.6 35.342675 0.00004111294 K 7.4 1 136.9 1.162633 0.29690842836 Residuals NA 16 1884.0 NA NA
A국에서는 성별 차이가 통계적으로 유의미(p < .05)하지만, B국에서는 성별차이가 유의미하지 않다.
다음으로 성별을 고정시켰을 때, 국가간 차이를 확인해보자.
testInteractions(
m,
fixed = "gender",
across = "country",
data = dat
)
Value Df Sum of Sq F Pr(>F) F 39.0 1 3802.5 32.2929936 0.00006793665 M 5.6 1 78.4 0.6658174 0.42649526769 Residuals NA 16 1884.0 NA NA
여성(F
)들은 국가에 따른 차이가 유의미(p < .05)하지만, 남성(M
)들은 국가에 따른 차이가 유의미하지 않다.