[R데이터분석] 집단간 평균 비교

근이의 개발일기·2024년 12월 9일
post-thumbnail

t-test, Wilcoxon test, ANOVA, One-way test


1. t-test (T-검정)

  • 목적: 두 집단 간의 평균을 비교
  • 종류:
    • 독립표본 t-test: 두 독립 집단의 평균을 비교
    • 대응표본 t-test: 같은 집단의 사전-사후 데이터를 비교
    • 단일표본 t-test: 표본의 평균이 특정 값과 다른지 검정
  • 조건:
    • 데이터가 정규분포를 따른다는 가정 필요
    • 등분산성 확인 필요 (var.test()로 확인)
  • R 함수:
    R
    코드 복사
    # 독립표본 t-test
    t.test(y ~ group, data = df, var.equal = TRUE) # 등분산 가정
    
    # 대응표본 t-test
    t.test(x, y, paired = TRUE) # 같은 집단의 사전-사후 데이터 비교
    
    # 단일표본 t-test
    t.test(x, mu = 100) # 평균이 100인지 검정
    
  • 출력 해석:
    • p-value < 0.05: 두 집단의 평균이 다르다고 해석
    • p-value ≥ 0.05: 두 집단의 평균이 같다고 해석
  • 적용 예시:
    • 남자와 여자의 평균 키 비교 (독립표본 t-test)
    • 시험 전후의 성적 비교 (대응표본 t-test)
    • 특정 공정에서 생산한 제품의 평균 무게가 50g인지 검정 (단일표본 t-test)

2. Wilcoxon test (윌콕슨 순위합 검정)

  • 목적: 두 집단의 중앙값을 비교
  • 종류:
    • Wilcoxon rank-sum test: 독립표본 t-test의 대안
    • Wilcoxon signed-rank test: 대응표본 t-test의 대안
  • 조건:
    • 데이터가 정규분포를 따르지 않을 때 사용 (비모수 검정)
    • 중위수 비교
  • R 함수:
    R
    코드 복사
    # Wilcoxon rank-sum test (독립표본)
    wilcox.test(x ~ group, data = df)
    
    # Wilcoxon signed-rank test (대응표본)
    wilcox.test(x, y, paired = TRUE)
    
  • 출력 해석:
    • p-value < 0.05: 두 집단의 중앙값이 다르다고 해석
    • p-value ≥ 0.05: 두 집단의 중앙값이 같다고 해석
  • 적용 예시:
    • 남자와 여자의 몸무게 중위수 비교 (Wilcoxon rank-sum test)
    • 치료 전후의 혈압 변화 비교 (Wilcoxon signed-rank test)
  • 차이점:
    • t-test는 평균을 비교, Wilcoxon test는 중앙값을 비교.
    • t-test는 정규성 가정을 요구, Wilcoxon test는 정규성 필요 없음.

3. ANOVA (Analysis of Variance, 분산분석)

  • 목적: 세 개 이상의 집단 평균을 비교
  • 종류:
    • One-way ANOVA: 한 개의 독립변수에 따른 종속변수의 변화 분석
    • Two-way ANOVA: 두 개의 독립변수가 종속변수에 미치는 영향 분석
    • Repeated measures ANOVA: 같은 집단의 반복 측정된 데이터를 비교
  • 조건:
    • 데이터가 정규분포를 따르는지 확인 필요 (shapiro.test()로 확인)
    • 집단 간 등분산성 확인 필요 (bartlett.test()로 확인)
  • R 함수:
    R
    코드 복사
    # One-way ANOVA
    aov_result <- aov(y ~ group, data = df)
    summary(aov_result)
    
  • 출력 해석:
    • p-value < 0.05: 세 그룹 이상의 평균이 적어도 하나는 다르다고 해석
    • p-value ≥ 0.05: 세 그룹 이상의 평균이 모두 같다고 해석
  • 사후검정: TukeyHSD()를 사용해 어떤 그룹 간의 차이가 있는지 파악
    R
    코드 복사
    TukeyHSD(aov_result)
    
  • 적용 예시:
    • 3개 이상의 학급의 평균 성적 비교
    • 4가지 다른 약물의 치료 효과 비교
  • 차이점:
    • t-test는 두 그룹 비교에 사용, ANOVA는 세 개 이상의 그룹 비교에 사용

4. One-way test (단일 요인 분산분석)

  • 목적: 한 개의 독립변수가 종속변수에 미치는 영향을 분석
  • 종류:
    • One-way ANOVA: 같은 의미로 사용
  • 조건:
    • 데이터가 정규분포를 따르는지 확인 필요
    • 집단 간 등분산성 확인 필요
  • R 함수:
    R
    코드 복사
    oneway.test(y ~ group, data = df)
    
  • 출력 해석:
    • p-value < 0.05: 독립변수의 변화에 따라 종속변수의 평균이 다르다고 해석
    • p-value ≥ 0.05: 독립변수의 변화에 따라 종속변수의 평균이 다르지 않다고 해석
  • 적용 예시:
    • 학년별 학생들의 수학 점수의 차이가 있는지 검정
    • 3가지 다른 온도에서 배양된 세포의 성장 속도의 차이가 있는지 검정

요약 비교

구분t-testWilcoxon testANOVAOne-way test
비교 대상두 집단의 평균 비교두 집단의 중앙값 비교3개 이상의 집단 평균 비교3개 이상의 집단 평균 비교
데이터 조건정규분포 필요정규분포 불필요정규분포 필요정규분포 필요
등분산 조건필요 (var.test)필요 없음필요 (bartlett.test())필요 (bartlett.test())
분석 대상평균중앙값평균평균
비모수 대안-Wilcoxon testKruskal-Wallis testKruskal-Wallis test
R 함수t.test()wilcox.test()aov()oneway.test()
p-value 해석< 0.05 → 다름< 0.05 → 다름< 0.05 → 하나 이상의 평균이 다름< 0.05 → 평균의 차이가 있음
사후분석없음없음TukeyHSD()없음
적용 예시남녀의 평균 키 비교남녀의 중위수 몸무게 비교3개 학급의 평균 점수 비교3개 온도에서 세포 성장 속도 비교

요약

  • t-test: 두 그룹의 평균을 비교 (정규분포)
  • Wilcoxon test: 두 그룹의 중앙값을 비교 (정규분포 필요 없음)
  • ANOVA: 세 그룹 이상의 평균을 비교 (정규분포 필요)
  • One-way test: One-way ANOVA와 동일한 개념 (단일 요인의 평균 비교)

0개의 댓글