[R데이터분석] shapiro.test() / var.test() / t.test() / bartlett.test() / aov()

근이의 개발일기·2024년 10월 21일
post-thumbnail

다섯 가지 R 함수인 shapiro.test(), var.test(), t.test(), bartlett.test(), aov()는 각각 통계적 가설 검정 및 분석에 사용되는 함수들입니다. 각각의 함수에 대한 설명과 사용 예시를 아래에 정리했습니다.

1. shapiro.test()

  • 목적: 데이터의 정규성을 검정합니다. 즉, 주어진 데이터가 정규 분포를 따르는지를 평가합니다.
  • 가정: 데이터가 연속적이고 정규성을 만족해야 합니다.
  • 검정 방법: Shapiro-Wilk 검정을 사용하여 p-value를 계산합니다.
  • 결과 해석: p-value가 일반적으로 0.05보다 작으면 데이터가 정규 분포를 따르지 않는다고 판단합니다.

예시:

# 데이터 생성
data <- c(1.2, 2.3, 2.9, 3.5, 3.6, 4.5)

# 정규성 검정
shapiro_result <- shapiro.test(data)
shapiro_result

2. var.test()

  • 목적: 두 그룹의 분산이 동일한지(등분산성)를 검정합니다.
  • 가정: 두 그룹의 데이터가 정규 분포를 따른다고 가정합니다.
  • 검정 방법: F-검정을 사용하여 두 그룹의 분산 비율을 비교합니다.
  • 결과 해석: p-value가 0.05보다 작으면 두 그룹의 분산이 다르다고 판단합니다.

예시:

# 두 그룹의 데이터 생성
group1 <- c(4, 5, 6, 7, 8)
group2 <- c(2, 3, 4, 5, 6)

# 분산 동질성 검정
var_result <- var.test(group1, group2)
var_result

3. t.test()

  • 목적: 두 그룹의 평균이 동일한지 검정합니다. 독립 샘플 t-검정 및 대응 샘플 t-검정을 수행할 수 있습니다.
  • 가정: 데이터가 정규 분포를 따르며, 독립적인 경우와 대응적인 경우에 따라 다릅니다.
  • 검정 방법: t-분포를 사용하여 두 그룹의 평균 차이를 검정합니다.
  • 결과 해석: p-value가 0.05보다 작으면 두 그룹의 평균이 다르다고 판단합니다.

예시:

# 두 그룹의 데이터 생성
group1 <- c(4, 5, 6, 7, 8)
group2 <- c(2, 3, 4, 5, 6)

# 독립 t-검정
t_result <- t.test(group1, group2)
t_result

4. bartlett.test()

  • 목적: 여러 그룹의 분산이 동일한지 검정합니다.
  • 가정: 데이터가 정규 분포를 따른다고 가정합니다.
  • 검정 방법: Bartlett의 검정을 사용하여 여러 그룹의 분산을 비교합니다.
  • 결과 해석: p-value가 0.05보다 작으면 그룹 간 분산이 다르다고 판단합니다.

예시:

# 세 그룹의 데이터 생성
group1 <- c(4, 5, 6, 7, 8)
group2 <- c(2, 3, 4, 5, 6)
group3 <- c(1, 2, 3, 4, 5)

# Bartlett 검정
bartlett_result <- bartlett.test(list(group1, group2, group3))
bartlett_result

5. aov()

  • 목적: 분산 분석(ANOVA)을 수행하여 두 개 이상의 그룹 간 평균의 차이를 검정합니다.
  • 가정: 데이터가 정규 분포를 따르고, 그룹 간 분산이 동일해야 합니다.
  • 검정 방법: ANOVA를 사용하여 여러 그룹의 평균 차이를 검정합니다.
  • 결과 해석: ANOVA의 결과로 제공된 p-value가 0.05보다 작으면 그룹 간 평균에 차이가 있다고 판단합니다.

예시:

# 세 그룹의 데이터 생성
group1 <- c(4, 5, 6)
group2 <- c(7, 8, 9)
group3 <- c(10, 11, 12)

# 데이터 프레임 생성
data <- data.frame(
  values = c(group1, group2, group3),
  group = factor(rep(c("A", "B", "C"), each = 3))
)

# ANOVA 수행
anova_result <- aov(values ~ group, data = data)
summary(anova_result)

요약

  • shapiro.test(): 데이터의 정규성을 검정.
  • var.test(): 두 그룹의 분산이 동일한지 검정.
  • t.test(): 두 그룹의 평균이 동일한지 검정.
  • bartlett.test(): 여러 그룹의 분산이 동일한지 검정.
  • aov(): 두 개 이상의 그룹 간 평균 차이를 검정하는 분산 분석 수행.

각 함수는 특정한 통계적 가설을 검정하는 데 사용되며, 사용 시 데이터의 특성과 가정을 잘 고려해야 합니다.

0개의 댓글