더북(TheBook)

학생 설문 조사 데이터를 담고 있는 MASS::survey를 사용해 학생들의 성별에 따른 운동량에 차이가 있는지 독립성 검정을 해보자. 다음은 survey 데이터의 모양을 보여준다.

> library(MASS)
> data(survey)
> str(survey)
'data.frame':   237 obs. of 12 variables:
$ Sex   : Factor w/ 2 levels "Female","Male": 1 2 2 2 2 1 2 1 2 2 ...
$ Wr.Hnd: num 18.5 19.5 18 18.8 20 18 17.7 17 20 18.5 ...
$ NW.Hnd: num 18 20.5 13.3 18.9 20 17.7 17.7 17.3 19.5 18.5 ...
$ W.Hnd : Factor w/ 2 levels "Left","Right": 2 1 2 2 2 2 2 2 2 2 ...
$ Fold  : Factor w/ 3 levels "L on R","Neither",..: 3 3 1 3 2 1 1 3 3 3 ...
$ Pulse : int 92 104 87 NA 35 64 83 74 72 90 ...
$ Clap  : Factor w/ 3 levels "Left","Neither",..: 1 1 2 2 3 3 3 3 3 3 ...
$ Exer  : Factor w/ 3 levels "Freq","None",..: 3 2 2 2 3 3 1 1 3 3 ...
$ Smoke : Factor w/ 4 levels "Heavy","Never",..: 2 4 3 2 2 2 2 2 2 2 ...
$ Height: num 173 178 NA 160 165 ...
$ M.I   : Factor w/ 2 levels "Imperial","Metric": 2 1 NA 2 2 1 1 2 2 2 ...
$ Age   : num 18.2 17.6 16.9 20.3 23.7 ...

> head(survey[c("Sex", "Exer")])
     Sex Exer
1 Female Some
2   Male None
3   Male None
4   Male None
5   Male Some
6 Female Some

survey 데이터에서 성별은 Sex, 운동을 얼마나 하는지는 Exer 열에 저장되어 있다. Sex는 Female, Male 두 가지 레벨을 가지는 팩터이며, Exer는 Freq, Some, None 3가지 레벨로 구성된 팩터이다. Freq는 운동을 자주함, Some은 운동을 약간 함, None은 운동을 하지 않음을 의미한다.

성별과 운동이 독립인지를 확인해보기 위해 분할표를 만들어보자.

> xtabs(~ Sex + Exer, data=survey)
       Exer
Sex     Freq None Some
  Female   49   11   58
  Male     65   13   40

분할표를 작성하고 나면 chisq.test( )를 통해 카이 제곱 검정을 수행할 수 있다.

표 7-11 카이 제곱 검정

chisq.test : 카이 제곱 검정을 수행한다.

chisq.test(
  x,       # 숫자 벡터 또는 행렬. 또는 x y가 모두 팩터
  y=NULL,  # 숫자 벡터 또는 x가 팩터인 경우 팩터로 지정. x가 행렬인 경우 그 안에 분할표가
           # 저장되어 있는 경우므로 y가 무시된다.
  # x와 같은 길이를 가질 확률. 이 값이 비율이 이 확률과 같은지를 테스트한다. 이 값이 지정되지
  # 않으면 확률이 서로 같은지 테스트한다. 이 인자는 '7.5 적합도 검정' 절에서 사용법을 설명한다.
  p = rep(1/length(x), length(x))
)

다음은 성별과 운동 정도의 독립성 검정을 수행한 예다.

> chisq.test(xtabs(~ Sex + Exer, data=survey))

  Pearson's Chi-squared test

data: xtabs(~Sex + Exer, data = survey)
X-squared = 5.7184, df = 2, p-value = 0.05731

p 값이 0.05731이므로 0.05보다 커서 ‘H0: 성별과 운동은 독립이다.’라는 귀무가설을 기각할 수 없는 것으로 나타났다. 통계량 χ2은 5.7184였으며 자유도Degree of Freedom는 성별이 2개 레벨, 운동량이 3개 레벨이므로 (2-1)(3-1) = 2였다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.