본문 바로가기
R 주제/R 기초 및 통계 강의

[R강의] 123. 사후검정 (Tukey test)

by 만다린망고 2021. 9. 9.
반응형

 

 

세 집단 A,B,C의 평균을 비교하기 위해 분산분석을 했고 결과 유의차가 있게 나왔다고 합시다. 분산분석에서 유의차가 있다는 것은 세 집단의 평균이 모두 동일하지는 않다는 말입니다. 셋다 다른 것인지, 아니면 특정 두 집단만 다른 것인지는 분산분석만으로는 알 수 없습니다. 사후분석이 필요합니다. 

 

대표적인 사후분석은 아래와 같습니다. 

 

 

사후분석 실습

지난 강의의 분산분석 데이터와 코드를 가져옵시다. 

 

R_OneWayANOVA.xlsx
0.01MB

 

 

library(readxl)
dt <- read_excel("여러분 경로/R_OneWayANOVA.xlsx")
dt=as.data.frame(dt)


#데이터 변형
ind = c(rep("A", 30), rep("B", 30), rep("C", 30))
dep = c(dt[,2], dt[,3], dt[,4])
dt_f=data.frame(ind,dep)


#boxplot 그려보기
boxplot(dep~ind,dt_f)


#등분산 검정
#install.packages("lawstat")
library(lawstat)
levene.test(dt_f$dep,dt_f$ind,location="mean")


#분산분석
my_aov=aov(dep~ind,dt_f)
summary(my_aov)

 

levene 검정 결과 등분산가정이 가능했었고, 그룹들의 표본 크기가 동일하므로 Tukey test를 하겠습니다. Tukey's HSD (honestly significant difference) test 라고도 부릅니다. 

 

TukeyHSD 함수를 사용합니다. aov 함수의 결과값을 넣어주면 됩니다. 

 

> TukeyHSD(my_aov)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = dep ~ ind, data = dt_f)

$ind
     diff        lwr        upr     p adj
B-A -21.2 -27.245332 -15.154668 0.0000000
C-A -22.4 -28.445332 -16.354668 0.0000000
C-B  -1.2  -7.245332   4.845332 0.8840154

 

A-B, A-C 사이의 유의차는 있지만 B-C 사이에 유의차는 없다는 것을 알 수 있습니다. 

반응형

댓글