도구 R로 푸는 통계
1. 2표본 t검정 설명
2표본 t검정은 두 집단의 평균을 비교할 때 사용하는 검정입니다. t검정은 크게 둘로 나뉩니다.
1) 독립표본 t검정 : 서로 독립인 두 집단을 비교 (ex. 남녀 키)
2) 대응표본 t검정 : 어떤 처리 전 후를 비교 (ex. 약 처방 전후 모발 개수)
이번영상에서는 독립표본 t검정을 해보겠습니다. 독립표본 t검정은 두 집단의 등분산 여부에 따라 둘로 나뉩니다. 따라서 등분산검정을 먼저 해야합니다. 보통 levene's test 를 사용 합니다.
levene's test 기각 -> 이분산 가정 t 검정
levene's test 기각 안됨 -> 등분산 가정 t 검정
t검정에서는 중심극한정리를 사용하여 정규분포를 가정하기 때문에 표본의 수가 30개 이상이어야 합니다.
표본의 수가 30개 미만인 경우에는 정규성검정을 통해 정규성을 입증하여야 합니다. 만약 정규성검정이 기각될 경우 비모수적 방법인 윌콕슨순위합검정을 사용해야 합니다. 또 샘플 사이즈가 너무 작을경우 정규성검정을 할 수 없습니다. 독립표본 t검정의 일반적 기준은 아래와 같습니다.
30 이상 : t-test
10-30 : 정규성검정 여부 결정
10 이하 : 윌콕슨순위합검정
위 내용을 디시전트리로 정리하면 아래와 같습니다.
한가지 더 고려해야할 내용은 양측, 단측검정입니다. 알려진 두 집단의 평균이 같은지 다른지 여부를 알고 싶으면 '양측검정'을 선택하면 됩니다. 어느 한쪽이 더 큰지 여부 또는 어느 한쪽이 더 작은지 여부를 알고 싶으면 '단측검정'을 선택합니다.
헷갈릴 수 있는 부분이라 양측검정과 단측검정을 코드와 함께 설명하겠습니다. 비교하려는 두 집단의 평균을 A와 B라고 놓겠습니다. 각 집단에서 뽑은 표본을 sample_A 와 sample_B라고 놓겠습니다.
귀무가설 : A=B
대립가설 : A≠B (우리의 주장)
t.test(sample_A,sample_B)
귀무가설 : A=B
대립가설 : A<B (우리의 주장)
t.test(sample_A,sample_B,alternative="less")
귀무가설 : A=B
대립가설 : A>B (우리의 주장)
t.test(sample_A,sample_B,alternative="greater")
2. t검정 예시
설명은 주석으로 대신합니다.
#1.데이터 생성
male_h=rnorm(40,170,5)
female_h=rnorm(40,160,5)
df=data.frame(X=c(rep("M",length(male_h)),rep("F",length(female_h))),
Y=c(male_h,female_h))
#2. Boxplot
boxplot(male_h,female_h,ann=FALSE)
#또는 아래와 같이 "종속변수~독립변수" 형태로도 입력이 가능함.
#아래와 같이 설정할 경우 데이터 이름의 알파벳 순으로 출력됨.
boxplot(Y~X,df,ann=FALSE)
#남녀 순서 변경
df$X=factor(df$X,levels=c("M","F"))
boxplot(Y~X,df,ann=FALSE)
title(xlab="성별",ylab="키",main="남녀 키 비교")
[boxplot]
#3.등분산 검정
#3-1)패키지 설치
install.packages("lawstat")
#3-2) 패키지 불러옴
library(lawstat)
#3-3) levene'test 수행
levene.test(df$Y,df$X,location="mean")
[등분산 검정 결과]
> levene.test(df$Y,df$X,location="mean")
Classical Levene's test based on the absolute deviations
from the mean ( none not applied because the location is not
set to median )
data: df$Y
Test Statistic = 2.7625, p-value = 0.1005
p값이 0.05 이상이므로, 등분산 가정 가능
#4. t 검정 수행
#등분산 가정으로 진행하기 위해 equal=TRUE 옵션 설정.
t.test(male_h,female_h,var.equal=TRUE)
#또는
t.test(Y~X,df,var.equal=TRUE)
[t 검정 결과]
> t.test(male_h,female_h,var.equal=TRUE)
Two Sample t-test
data: male_h and female_h
t = 7.47, df = 78, p-value = 9.931e-11
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
6.541201 11.294719
sample estimates:
mean of x mean of y
169.4646 160.5466
p값이 0.05 보다 작으므로, 두 그룹 간 평균에 유의한 차이가 있음.
영상이 더 편하신 분
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R 강의] 98. 정규성검정 (LF test, SW test) (3) | 2020.06.27 |
---|---|
[R 강의] 97. 대응표본 t검정 (4) | 2020.06.22 |
[R 강의] 95. 일표본 t검정 (0) | 2020.06.16 |
[R 강의] 94. 정규분포에 색칠하기 (0) | 2020.06.06 |
[R강의] 93. 맘에 드는 색을 RGB로 가져오기 (0) | 2020.05.29 |
댓글