R에서 사후 쌍별 비교를 수행하는 방법
일원 분산 분석은 3개 이상의 독립 그룹 평균 간에 통계적으로 유의한 차이가 있는지 여부를 확인하는 데 사용됩니다.
일원 분산 분석에서는 다음과 같은 귀무 가설과 대립 가설을 사용합니다.
- H 0 : 모든 그룹 평균이 동일합니다.
- H A : 모든 그룹 평균이 동일한 것은 아닙니다.
ANOVA의 전체 p-값이 특정 유의 수준(예: α = 0.05)보다 낮으면 귀무 가설을 기각하고 모든 그룹 평균이 동일하지 않다는 결론을 내립니다.
어떤 그룹 평균이 다른지 확인하기 위해 사후 쌍별 비교를 수행할 수 있습니다.
다음 예에서는 R에서 다음과 같은 사후 쌍별 비교를 수행하는 방법을 보여줍니다.
- 투키 방식
- Scheffe 방법
- 본페로니 방법
- 홀름 방법
예: R의 일원 분산 분석
교사가 세 가지 다른 학습 방법이 학생들 사이에 다른 시험 점수로 이어지는지 여부를 알고 싶어한다고 가정해 보겠습니다. 이를 테스트하기 위해 그녀는 각 학습 기술을 사용하도록 10명의 학생을 무작위로 할당 하고 그들의 시험 결과를 기록합니다.
R에서 다음 코드를 사용하여 일원 분산 분석을 수행하여 세 그룹 간의 평균 시험 점수 차이를 테스트할 수 있습니다.
#create data frame df <- data.frame(technique = rep(c(" tech1 ", " tech2 ", " tech3 "), each= 10 ), score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89, 81, 82, 83, 83, 83, 84, 87, 90, 92, 93, 77, 78, 79, 88, 89, 90, 91, 95, 95, 98)) #perform one-way ANOVA model <- aov(score ~ technique, data = df) #view output of ANOVA summary(model) Df Sum Sq Mean Sq F value Pr(>F) technical 2 211.5 105.73 3.415 0.0476 * Residuals 27 836.0 30.96 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ANOVA의 전체 p-값(0.0476)은 α = 0.05보다 작으므로 각 학습 기법에 대해 평균 시험 점수가 동일하다는 귀무가설을 기각합니다.
어떤 그룹이 다른 평균을 가지고 있는지 확인하기 위해 사후 쌍별 비교를 수행할 수 있습니다.
투키 방식
각 그룹의 표본 크기가 동일한 경우 Tukey의 사후 방법을 사용하는 것이 가장 좋습니다.
내장된 TukeyHSD() 함수를 사용하여 R에서 Tukey 사후 메소드를 실행할 수 있습니다.
#perform the Tukey post-hoc method TukeyHSD(model, conf. level = .95 ) Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = score ~ technique, data = df) $technical diff lwr upr p adj tech2-tech1 4.2 -1.9700112 10.370011 0.2281369 tech3-tech1 6.4 0.2299888 12.570011 0.0409017 tech3-tech2 2.2 -3.9700112 8.370011 0.6547756
결과에서 0.05 미만인 유일한 p-값(“ p adj ”)은 기법과 기법 3의 차이임을 알 수 있습니다.
따라서 기법 1과 기법 3을 사용한 학생들 사이의 평균 시험 점수에는 통계적으로 유의미한 차이만 있다는 결론을 내릴 수 있습니다.
Scheffe 방법
Scheffe 방법은 가장 보수적인 사후 쌍별 비교 방법이며 그룹 평균을 비교할 때 가장 넓은 신뢰 구간을 생성합니다.
DescTools 패키지의 ScheffeTest() 함수를 사용하여 R에서 Scheffe 사후 메서드를 실행할 수 있습니다.
library (DescTools)
#perform the Scheffe post-hoc method
ScheffeTest(model)
Posthoc multiple comparisons of means: Scheffe Test
95% family-wise confidence level
$technical
diff lwr.ci upr.ci pval
tech2-tech1 4.2 -2.24527202 10.645272 0.2582
tech3-tech1 6.4 -0.04527202 12.845272 0.0519 .
tech3-tech2 2.2 -4.24527202 8.645272 0.6803
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1'''156
결과에서 우리는 0.05보다 낮은 p-값이 없음을 알 수 있으므로 그룹 간 평균 시험 점수에는 통계적으로 유의미한 차이가 없다는 결론을 내릴 수 있습니다.
본페로니 방법
계획된 쌍별 비교 세트를 수행하려는 경우 Bonferroni 방법을 사용하는 것이 가장 좋습니다.
R에서 다음 구문을 사용하여 Bonferroni 사후 방법을 수행할 수 있습니다.
#perform the Bonferroni post-hoc method
pairwise. t . test (df$score, df$technique, p. adj = ' bonferroni ')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.309 -
tech3 0.048 1.000
P value adjustment method: bonferroni
결과에서 0.05보다 작은 유일한 p-값은 기법과 기법 3의 차이임을 알 수 있습니다.
따라서 기법 1과 기법 3을 사용한 학생들 사이의 평균 시험 점수에는 통계적으로 유의미한 차이만 있다는 결론을 내릴 수 있습니다.
홀름 방법
Holm 방법은 계획된 일련의 쌍별 비교를 미리 수행하려는 경우에도 사용되며 Bonferroni 방법보다 검정력이 훨씬 더 높은 경향이 있으므로 선호되는 경우가 많습니다.
R에서 다음 구문을 사용하여 Holm 사후 메서드를 실행할 수 있습니다.
#perform the Holm post-hoc method
pairwise. t . test (df$score, df$technique, p. adj = ' holm ')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.206 -
tech3 0.048 0.384
P value adjustment method: holm
결과에서 0.05보다 작은 유일한 p-값은 기법과 기법 3의 차이임을 알 수 있습니다.
따라서 다시 기술 1과 기술 3을 사용한 학생들 사이의 평균 시험 점수에는 통계적으로 유의미한 차이만 있다는 결론을 내릴 수 있습니다.
추가 리소스
다음 자습서에서는 분산 분석 및 사후 테스트에 대한 추가 정보를 제공합니다.
ANOVA에서 F값과 P값을 해석하는 방법
전체 가이드: ANOVA 결과 보고 방법
터키 대. 본페로니 vs. Scheffe: 어떤 테스트를 사용해야 합니까?