본문 바로가기
R 주제/R 기초 및 통계 강의

[R 강의] 96. 독립표본 t검정 (+등분산 검정)

by 만다린망고 2020. 6. 16.
반응형

도구 R로 푸는 통계

96. 독립표본 t검정 (+등분산 검정)

 

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 보다 작으므로, 두 그룹 간 평균에 유의한 차이가 있음.



영상이 더 편하신 분


반응형

댓글