전체 가이드: r에서 anova 결과를 해석하는 방법
일원 분산 분석은 3개 이상의 독립 그룹 평균 간에 통계적으로 유의한 차이가 있는지 여부를 확인하는 데 사용됩니다.
이 튜토리얼은 R에서 일원 분산 분석(one-way ANOVA) 결과를 해석하는 방법에 대한 완전한 가이드를 제공합니다.
1단계: 데이터 생성
세 가지 다른 훈련 프로그램이 개인의 평균 체중 감소를 가져오는지 여부를 확인하고 싶다고 가정해 보겠습니다.
이를 테스트하기 위해 우리는 한 달 동안 프로그램 A, 프로그램 B 또는 프로그램 C를 따르도록 무작위로 30명을 할당하는 실험에 참여할 90명을 모집합니다.
다음 코드는 우리가 작업할 데이터 프레임을 생성합니다.
#make this example reproducible
set. seeds (0)
#create data frame
data <- data. frame (program = rep(c(' A ', ' B ', ' C '), each = 30),
weight_loss = c(runif(30, 0, 3),
runif(30, 0, 5),
runif(30, 1, 7)))
#view first six rows of data frame
head(data)
program weight_loss
1 A 2.6900916
2 A 0.7965260
3 A 1.1163717
4 A 1.7185601
5 A 2.7246234
6 A 0.6050458
2단계: 분산 분석 수행
다음으로 aov() 명령을 사용하여 일원 분산 분석을 수행합니다.
#fit one-way ANOVA model
model <- aov(weight_loss ~ program, data = data)
3단계: 분산 분석 결과 해석
다음으로 summary() 명령을 사용하여 일원 분산 분석 결과를 표시합니다.
#view summary of one-way ANOVA model
summary(model)
Df Sum Sq Mean Sq F value Pr(>F)
program 2 98.93 49.46 30.83 7.55e-11 ***
Residuals 87 139.57 1.60
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
각 결과 값을 해석하는 방법은 다음과 같습니다.
Program Df: 가변 프로그램 의 자유도. 이는 #groups -1로 계산됩니다. 이 경우에는 3개의 서로 다른 훈련 프로그램이 있었으므로 이 값은 3-1 = 2 입니다.
Df 잔차: 잔차의 자유도입니다. 이는 #총 관측치 – #그룹으로 계산됩니다. 이 경우에는 90개의 관측치와 3개의 그룹이 있으므로 이 값은 90 -3 = 87 입니다.
프로그램 합계 제곱: 변수 프로그램 과 관련된 제곱의 합계입니다. 이 값은 98.93 입니다.
잔차 제곱합: 잔차 또는 “오류”와 관련된 제곱합입니다. 이 값은 139.57 입니다.
중간 정사각형. 프로그램: 프로그램과 관련된 평균 제곱합입니다. 이는 제곱합으로 계산됩니다. 프로그램 / 프로그램 Df. 이 경우 이는 98.93 / 2 = 49.46 으로 계산됩니다.
중간 정사각형. 잔차: 잔차와 관련된 평균 제곱합입니다. 이는 제곱합으로 계산됩니다. 잔류물 / 잔류물 Df. 이 경우 이는 다음과 같이 계산됩니다: 139.57 / 87 = 1.60 .
F 값: ANOVA 모델의 전체 F 통계입니다. 이는 평균 제곱으로 계산됩니다. 프로그램/평균 제곱. 잔류물. 이 경우 다음과 같이 계산됩니다: 49.46 / 1.60 = 30.83 .
Pr(>F): 분자 df = 2, 분모 df = 87인 F 통계와 연관된 p-값입니다. 이 경우 p-값은 7.552e-11 로 매우 작은 숫자입니다.
결과 세트에서 가장 중요한 값은 p-값인데, 이는 세 그룹 간의 평균값에 유의미한 차이가 있는지를 알려주기 때문입니다.
일원 분산 분석에서는 다음과 같은 귀무 가설과 대립 가설을 사용합니다.
- H 0 (귀무 가설): 모든 그룹 평균이 동일합니다.
- HA (대립가설): 적어도 하나의 그룹 평균이 다른 그룹 평균과 다릅니다.
ANOVA 테이블(.7552e-11)의 p-값이 0.05보다 작으므로 귀무 가설을 기각할 수 있는 충분한 증거가 있습니다.
이는 개인이 경험하는 평균 체중 감소가 세 가지 훈련 프로그램 간에 동일하지 않다고 말할 수 있는 충분한 증거가 있음을 의미합니다.
4단계: 사후 테스트 수행(필요한 경우)
ANOVA 출력의 p-값이 0.05보다 작으면 귀무 가설을 기각합니다. 이는 각 그룹 간의 평균값이 동일하지 않음을 나타냅니다. 그러나 이는 어떤 그룹이 서로 다른지 알려주지 않습니다.
이를 확인하려면 사후 테스트를 수행해야 합니다. R에서는 TukeyHSD() 함수를 사용하여 이를 수행할 수 있습니다.
#perform Tukey post-hoc test
TukeyHSD(model)
$program
diff lwr upr p adj
BA 0.9777414 0.1979466 1.757536 0.0100545
CA 2.5454024 1.7656076 3.325197 0.0000000
CB 1.5676610 0.7878662 2.347456 0.0000199
결과를 해석하는 방법은 다음과 같습니다.
- 그룹 A와 B 간의 평균 차이에 대한 수정된 p-값은 0.0100545 입니다.
- 그룹 A와 C 간의 평균 차이에 대한 수정된 p-값은 0.0000000 입니다.
- 그룹 B와 C 간의 평균 차이에 대한 수정된 p-값은 0.0000199 입니다.
각각의 조정된 p-값이 0.05 미만이므로 각 그룹 간 평균 체중 감량에 유의한 차이가 있다는 결론을 내릴 수 있습니다.
추가 리소스
일원 분산 분석 소개
ANOVA 가정을 확인하는 방법
일원 분산 분석을 수동으로 수행하는 방법
일원 분산 분석 계산기