반응형

4.2.2 독립성 검정

4.3) Goodman Kruskal 6,800명을 대상으로 눈색과 머리색을 조사하여 얻은 자료를 가지고 아래와 같은 관찰표를 얻엇다. 눈색과 머리색에 따라 3X4 분할표를 구성할 눈색이 머리색에 영향을 주는가? , 서로 독립저긴가?

 

B1

B2

B3

B4

A1

1768

807

189

47

2811

A2

946

1387

746

53

3132

A3

115

438

288

16

857

2829

2632

1223

116

6800


   H0 눈색과 머리색은 독립이다

   H1 눈색과 머리색인 서로관련이 있다

 

1) 데이터 입력

> out = matrix(c(1768, 807, 189, 47, 946, 1387, 746, 53, 115, 438, 288, 16), nrow=3, byrow = T)

> dimnames(out) = list (eye=c('e1','e2','e3'),hair=c('h1','h2','h3','h4'))

> out

hair

eye    h1   h2  h3 h4

e1   1768  807 189 47

e2    946 1387 746 53

e3    115  438 288 16

> addmargins(out) #분할표 만들기

hair

eye      h1   h2   h3  h4  Sum

e1     1768  807  189  47 2811

e2      946 1387  746  53 3132

e3      115  438  288  16  857

Sum   2829 2632 1223 116 6800

 

2) 데이터 시각화

> par(mfrow=c(1,2))

> dotchart(out)

> dotchart(t(out))

 

 


> par(mfrow=c(1,1))

> mosaicplot(out)


결과 해석: 눈색과 머릿색이 서로 영향을 주고 있음을 있다

 

 

3) 카이제곱 검정 

> chisq.test(out)

 

Pearson's Chi-squared test

 

data:  out

X-squared = 1073.5, df = 6, p-value < 2.2e-16

결과 해석:

  귀무가설 H0 눈색과 머리색은 독립이다.

  대립가설 H1 눈색과 머리색인 서로관련이 있다.

  p-value 2.2e-16 < 0.001

  의사결정: p-value값이 0.001보다 작으므로 눈색과 머리색이 유의하게 서로 영향을 주고 있음을 알 수 있다.



4) 카이제곱 검정 결과 보기

> names(chisq.test(out))

[1] "statistic" "parameter" "p.value"   "method"    "data.name" "observed"  "expected"  "residuals" "stdres"  

> chisq.test(out)$observed #관찰도수

hair

eye    h1   h2  h3 h4

e1 1768  807 189 47

e2  946 1387 746 53

e3  115  438 288 16

> chisq.test(out)$expected #기대도수

hair

eye         h1        h2       h3       h4

e1 1169.4587 1088.0224 505.5666 47.95235

e2 1303.0041 1212.2682 563.2994 53.42824

e3  356.5372  331.7094 154.1340 14.61941

> chisq.test(out)$residuals #잔차

hair

eye          h1        h2         h3          h4

e1  17.502565 -8.519654 -14.079133 -0.13752858

e2  -9.890092  5.018483   7.697865 -0.05858643

e3 -12.791799  5.836008  10.782543  0.36107650

 

출처: 보건정보데이터 분석(이태림 저)



반응형
Posted by 마르띤
,
반응형

4.2 범주형 자료의 검정

# 4.2) 비타민 c가 감기치료에 효과가 있는지 점검. 대조군(control) 그룹 140명에게는 플라시보를 주고 처리군(treat) 그룹 139명에게는 매일 비타민 c를 투여하였다. 아래 분할표를 가지고 비타민 C가 감기에 효과가 있는지 점검

 

 

감기 걸림

감기 안 걸림

대조군(placebo)

31

109

140

처리군(비타민 C 복용군)

17

122

139

48

231

279

 

H0 복용군과 비복용군의 감기 이환율 같다
H1
복용군과 비복용군의 감기 이환율 다르다

 

1) 자료 입력

> vitamin = matrix(c(31,109,17,122),nrow=2,byrow=T)

> dimnames(vitamin) = list(vitamin=c('ctr','trt'),flu=c('y','n'))

> vitamin

          flu

vitamin  y   n

    ctr 31 109

    trt 17 122

> round(vitamin/sum(vitamin),2)

            flu

vitamin    y    n

    ctr 0.11 0.39

    trt 0.06 0.44

> addmargins(vitamin)

          flu

vitamin  y   n Sum

    ctr 31 109 140

    trt 17 122 139

    Sum 48 231 279

 

2) 데이터 시각화

> par(mfrow=c(1,2))

> dotchart(vitamin)

> dotchart(t(vitamin))


> par(mfrow=c(1,1))

> mosaicplot(vitamin)


결과 해석: 비타민 복용군과 비복용군의 감기 이환율이 동일하지 않음을 알 수 있다.


 

3)카이제곱 검정 실행

#카이검정

> chisq.test(vitamin)

 

Pearson's Chi-squared test with Yates' continuity correction

 

data:  vitamin

X-squared = 4.1407, df = 1, p-value = 0.04186

 

결과해석
대립가설 H0 : 복용군과 비복용군의 감기 이환율 같다

귀무가설 H1 : 복용군과 비복용군의 감기 이환율 다르다

p-value : 0.04186

결정: p-value값이 0.05보다 작으므로 H0를 기각, 비타민 복용군과 비복용군 간 이환율은 다르다.

 

 

관찰도수, 기대도수, 잔차를 보는 법 

#관찰도수

> names(chisq.test(vitamin))

[1] "statistic" "parameter" "p.value"   "method"    "data.name" "observed"  "expected"

[8] "residuals" "stdres"  

> chisq.test(vitamin)$observed

flu

vitamin  y   n

ctr 31 109

trt 17 122


#기대도수

> chisq.test(vitamin)$expected

flu

vitamin        y       n

ctr 24.08602 115.914

trt 23.91398 115.086


#피어슨잔차

> chisq.test(vitamin)$residual

flu

vitamin         y          n

ctr  1.408787 -0.6421849

trt -1.413846  0.6444908


출처: 보건정보데이터 분석(이태림 저)

반응형
Posted by 마르띤
,
반응형

1. 타이타닉 선실 등급 별 생존 여부

#Class=1st, 2nd, 3rd, Crew / Survived=Yes, No
> data("Titanic")
> str(Titanic)
 table [1:4, 1:2, 1:2, 1:2] 0 0 35 0 0 0 17 0 118 154 ...
 - attr(*, "dimnames")=List of 4
  ..$ Class   : chr [1:4] "1st" "2nd" "3rd" "Crew"
  ..$ Sex     : chr [1:2] "Male" "Female"
  ..$ Age     : chr [1:2] "Child" "Adult"
  ..$ Survived: chr [1:2] "No" "Yes"
> apply(Titanic,c(1,4),sum)
      Survived
Class   No Yes
  1st  122 203
  2nd  167 118
  3rd  528 178
  Crew 673 212
> addmargins(apply(Titanic,c(1,4),sum))
      Survived
Class    No Yes  Sum
  1st   122 203  325
  2nd   167 118  285
  3rd   528 178  706
  Crew  673 212  885
  Sum  1490 711 2201
> par(mfrow=c(1,2))
> mosaicplot(~Class+Survived,data=Titanic)
> mosaicplot(~Class+Survived,data=Titanic,color=c('grey','red'))


2. 타이타닉 성별/연령 별 생존 여부

> mosaicplot(~Sex+Survived,data=Titanic,color=c('grey','red'))
> mosaicplot(~Age+Survived,data=Titanic,color=c('grey','red'))


 3. 타이타닉 성인 남성 / 성인 여성 생존 여부

> mosaicplot(~Class+Survived,data=as.table(Titanic[,'Male','Adult',]),color=c('grey','red'), main="Male+Adult")
> mosaicplot(~Class+Survived,data=as.table(Titanic[,'Female','Adult',]),color=c('grey','red'), main="Female+Adult")


반응형

'KNOU > 1 데이터시각화' 카테고리의 다른 글

막대그래프  (0) 2016.03.08
원 그래프  (0) 2016.03.07
Posted by 마르띤
,