R에서 T-Test를 하는 방법은 다음과 같이 간단합니다. 우선 iris를 사용하면 다음과 같습니다.
1. iris에서 2개의 그룹만 추출
> df_data <- iris %>% filter(Species %in% c("setosa","versicolor" ))
T-Test는 두 집단의 평균차이를 검정하는 것이므로 iris데이터에서 두개의 집단인 setosa와 versicolor만 추출합니다.
2, 분산동질성 검증
> var.test(Sepal.Length ~ Species, data = df_data)
F test to compare two variances
data: Sepal.Length by Species
F = 0.46634, num df = 49, denom df = 49, p-value = 0.008657
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.2646385 0.8217841
sample estimates:
ratio of variances
0.4663429
p-value가 0.05 이상이면 분산이 동일하다고 할 수 있으며, 0.05 이하이면 분산이 동일하다고 할 수 었습니다.
3. 분산동질성 검정결과에 따라 T-Test 실행
분산이 동일한 경우 아래 옵션에서 var.equal을 TRUE로 설정하고, 동일하지 않은 경우 FALSE로 설정해야 합니다.
위의 분산동질성 검증에서 p-value가 0.008657 이므로 동일한 분산이라고 할 수 없어 var.equal=FALSE를 옵션으로 설정합니다.
> t.test(Sepal.Length ~ Species, data = df_data,
paired = FALSE,
alternative = "two.sided", var.equal = FALSE)
Welch Two Sample t-test
data: Sepal.Length by Species
t = -10.521, df = 86.538, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.1057074 -0.7542926
sample estimates:
mean in group setosa mean in group versicolor
5.006 5.936
최종결과에서 p-value가 0.05 이하이므로 두 집단의 Sepal.Length가 서로 다르다고 할 수 있습니다.
4. 결론
위의 파란색으로 표시된 3개의 명령만 있으면 T-Test는 쉽게 할 수 있습니다.
그러나, T-Test 사용시에 주의해야 할 사항은 두 집단의 분산에 대한 동질성 검증(var.test)을 먼저 수행한 후에 t.test에 적합한 var.equal 옵션을 사용해야 한다는 것입니다.
또한 통계분석을 하다보면 하나의 변수 뿐만 아니라 여러 변수에 대해 검증을 해야 합니다.
그리고, 두집단의 표본수, 평균, 편차, 분산동질성검증 결과, t-value, p-value, 검사방법을 정리한 다음과 같은 통계표를 만들어야 하는 경우가 많습니다.
R에서 일원배치분산분석(One-Way ANOVA) (0) | 2018.01.18 |
---|---|
R에서 T-Test 반복수행과 통계표 작성 (1) | 2018.01.12 |
R을 이용해서 주가 데이터 가져오기: Yahoo Finance 이용 (0) | 2014.03.12 |
R을 이용한 클러스터 분석: iris (0) | 2014.02.06 |
R을 이용한 Visualization: tabplot, googleVis, ggplot2 (0) | 2014.02.05 |