전체 가이드: 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 가정을 확인하는 방법
일원 분산 분석을 수동으로 수행하는 방법
일원 분산 분석 계산기

의견을 추가하다

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