Programing/R- programming

R: Chisq post hoc. 다중 카이제곱검정

sosal 2016. 4. 25. 03:09
반응형

/*

 http://sosal.kr/
 * made by so_Sal
 */

 


R 프로그래밍에서 독립성 검정을 하는데, 3군 이상의 경우에는, 카이제곱에서 어떤 그룹간의 차이가 있는지 알 수 없다.

찾아보니까 다중 카이제곱 검정을 해주는 패키지가 있었다.

 

library: fifer

 

설치 (install)

> install.packages("fifer")

로드

> library(fifer)

 

 

 

- 데이터 예쩨

 

> M <- as.table(rbind(c(76, 32, 46), c(48,23,47), c(45,34,78)))
> dimnames(M) <- list(sex=c("1학년","2학년","3학년"),loc=c("국어","영어","수학"))

 

 

 

1학년, 2학년, 3학년 사이의 성적이 다른지 확인하기 위해서 독립성 검정을 할 때,

fifer 패키지의 chisq.post.hoc 함수를 사용하면 각각의 군의 모든 검정테스트를 도와준다.

 

 

일단 R의 기본 카이제곱 함수를 사용하여 독립성 검정을 시행해보자.

 

p-value가 0.002616으로 유의하게 나온다.

다만 어느 학년에서 유의하게 다른지는 알 수 없다.

따라서 chisq.post.hoc을 이용하여 어떤 군에서 차이를 보이는지 확인한다.

 

 

> chisq.post.hoc(M)

 

 

 

결과값과 raw pvalue, adjust p-value (default FDR)

FDR 값으로 multiple testing 결과 adjust pvalue값까지 나오는 것을 확인할 수 있다.