반응형
세 집단 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 사이에 유의차는 없다는 것을 알 수 있습니다.
반응형
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R강의] 125. 엑셀의 vlookup 기능 구현 (0) | 2021.09.27 |
---|---|
[R강의] 124. 카이제곱검정 하는 방법 (+ Yates' continuity correction 무엇인가) (0) | 2021.09.09 |
[R강의] 122. 분산분석 (일원분산분석) (0) | 2021.08.31 |
[R강의] 121. 축제거, 눈금제거, 축이름제거 (0) | 2021.08.13 |
[R강의] 120. for문에서 스킵할때 쓰는 next (0) | 2021.08.13 |
댓글
만다린망고님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.