-
이원분산분석 (Two Way ANOVA)Research Methodologies & Statistics 2022. 9. 27. 22:40
이원분산분석은 두개의 독립변수가 종속변수에 어떠한 영향을 미치는지를 분석하는 것으로 각각의 독립변수가 종속변수에 미치는 영향을 주효과(Main Effect)라고 하고 2개의 독립변수가 동시에 작용하여 종속변수에 영향을 미치는 것을 상호작용효과(Interaction Effect))라고 한다. 그래서 이원분산분석을 할 때에는 주효과와 상호작용효과 모두를 살펴보아야 한다.
그러나 모든 이원분산분석에서 주효과와 상호작용효과를 살펴볼 수 있는 것은 아니다. 예를 들어 집단을 나타내는 두개의 독립변수가 1개의 관측치만 갖고 있을 경우에는 주효과만 살펴보면 되고, 관측치가 2개 이상인 집단이 있으면 상호작용효과까지 살펴봐야 한다. (
[주효과만 봐야 하는 경우]
만약 분석을 하기 위한 데이터가 아래와 같이 각 셀이 하나씩 밖에 없다면 상호작용효과는 볼 수 없다.
대도시(n) 중/소도시(n) 학교유형 별 수학 평균 남여공학(n) 11 9 78.3 남학교(n) 6 4 80.2 여학교(n) 5 3 77.5 지역별 수학 평균 79.2 76.4 79.2 이와 같은 경우, 독립변수를 나타내는 학교유형 집단 간에 종속변수(수학평균)에 통계적으로 유의미한 차이가 있는지를 검정하고, 그리고 또 다른 독립변수인 지역간에 종속변수(수하평균)에 통계적으로 유의미한 차이가 있는지를 개별적으로 다시 검정하면 된다.
[주효과와 상호작용효과를 모두 봐야 하는 경우]
아래와 같이 학교유형에 해당하는 세개의 집단 내에 관측치가 2개 이상이고, 지역에 해당하는 두개의 집단내의 관측치가 2개 이상인 경우에는 주효과와 더불어 상호작용효과까지 살펴볼 수 있다.
학교유형 지역 수학평균 1 남여공학 대도시 77.1 2 여학교 대도시 74.3 3 남학교 대도시 80.5 4 남여공학 대도시 83.2 5 남학교 중소도시 79.4 6 여학교 중소도시 76.6 7 남학교 중소도시: 81.2 : : : : n 남여공학 중소도시 75.3 주효과와 상호작용효과를 모두 볼 수 있는 경우에는 앞서 언급한 것처럼 학교유형 집단 간에 수학평균에 통계적으로 유의미한 차이가 있는지 살펴보고, 지역간 수학평균에 통계적으로 유의미한 차이가 있는지 살펴봐야 한다. 여기까지가 주효과를 검정하는 것이고, 그리고 학교유형과 집단 간 평균차이에 상호작용효과가 있는지 검정해야 한다.
첨부된 데이터의 구조는 주효과와 상호작용효과를 모두 살펴볼 수 있는 구조를 가지고 있다. 그러나 여기에서, 주효과만을 검정하는 방법과 주효과와 상호작용효과 모두를 검정하는 방법을 살펴보고자 한다. 우선, 주효과만 살펴보는 방법은 다음과 같다.
summary(aov(종속변수~독립변수1+독립변수2, data=데이터명) summary(aov(Scores~Location+SchoolTypes, data=df))
그 결과는 다음과 같다. 지역이 같은 학생들의 점수는 학교 유형에 따라 통계적으로 유의미한 점수(Scores)의 차이가 있는 것을 알 수 있고, 학교유형이 같은 학생의 경우 지역에 따라 통계적으로 유의미한 점수의 차이를 찾을 수 없었다.
Df Sum Sq Mean Sq F value Pr(>F) Location 1 182 181.5 1.962 0.16750 SchoolTypes 2 1215 607.6 6.567 0.00294 ** Residuals 50 4626 92.5 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
주효과와 상호작용 효과를 살펴보는 코드는 다음과 같다.
summary(aov(종속변수~독립변수1+독립변수2+독립변수1:독립변수2, data=데이터명)) summary(aov(Scores~Location+SchoolTypes+Location:SchoolTypes, data=df))
그 결과는 다음과 같다. 지역이 같은 학생들의 점수는 학교 유형에 따라 통계적으로 유의미한 점수(Scores)의 차이가 있는 것을 알 수 있고, 학교유형이 같은 학생의 경우 지역에 따라 통계적으로 유의미한 점수의 차이를 찾을 수 없었다. 그리고 지역과 학교유형의 통계적으로 유의미한 상호작용 효과를 찾을 수 없었다.
Df Sum Sq Mean Sq F value Pr(>F) Location 1 182 181.5 2.123 0.15165 SchoolTypes 2 1215 607.6 7.105 0.00198 ** Location:SchoolTypes 2 521 260.7 3.049 0.05668 . Residuals 48 4104 85.5 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
참고로 df 데이터를 이용해서 각각의 집단별 평균을 보여주는 테이블을 만들고 싶다면 aggregate 명령어를 사용하면 된다.
새로운 데이터명 <- aggregate(데이터명$종속변수, by=list(데이터명$독립변수1, 데이터명$독립변수2), FUN=mean) df2 <- aggregate(df$Scores, by=list(df$Location, df$SchoolTypes), FUN=mean) df2
새로운 데이터명인 df2를 실행시키면 다음과 같은 테이블을 생성할 수
Group.1 Group.2 x 1 City Coe_Sch 38.22222 2 Suburban Coe_Sch 28.22222 3 City F_Sch 24.55556 4 Suburban F_Sch 18.77778 5 City M_Sch 24.00000 6 Suburban M_Sch 28.77778
'Research Methodologies & Statistics' 카테고리의 다른 글
일원분산분석(One-Way ANOVA) (0) 2022.04.13 대응표본 t 검정 (Paired t-test) (0) 2021.11.10 독립표본 t 검정 (0) 2021.11.08