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: 어떤 테스트를 사용해야 합니까?

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다