본문 바로가기

데이터분석

pairwise.t.test -- 집단 간 t.test

이번에는 t.test를 여러 집단에 대해서 사용하는 방법에 대하여 배워보겠습니다.


Data : red.cell.folate ( ISwR package에 있어요)

red.cell.folate 데이터의 예시

 


EDA

str 함수를 통해서 살펴본 데이터의 구조

 

obs 22 : 총 관찰 갯수는 22개입니다. 

ventilation : 3개의 그룹으로 나눌 수 있습니다. NO.. , N20,, 이름은 중요하지 않아요. 

 


PAIRWISE.T.TEST

pairwise.t.test 실행 결과

코드 : with(red.cell.folate, pairwise.t.test(folate, ventilation, pool.sd=F))

 

pairwise.t.test는 그룹으로 나눠서 각각의 t.test를 진행하고 p-value의 값을 반환해줍니다. 

p-value값이 낮다면 두 그룹의 평균이 다른 것으로, 높다면 비슷한 것으로 생각할 수 있습니다. 

(귀무가설: 두 그룹의 평균은 동일하다. )

 

0.042 : N20+02,op 그룹과 N20+02,24h 그룹은 그룹 평균이 다른 것을 짐작할 수 있습니다.  (기각)

0.408 : N20+02,op 그룹과 O2, 24h 그룹은 그룹 평균이 비슷할 것으로 예상됩니다.            (기각 불가)


 

예상대로 빨간색과 초록색은 평균이 비슷합니다. 

코드 : with(red.cell.folate, boxplot(folate~ventilation, col=c(5,2,3)))

 


아직 조금 더 남았습니다. 몇 가지 의문이 있습니다. 

 

Q.

1. 데이터의 평균을 비교한다는 것은 알겠는데, 분산도 고려되는 건가?

2. P 값을 좀 조절했으면 하는데 어떻게 해야 하는가?

 

 

A.

1.  현재 코드에서는 모두 분산이 동일하다고 생각하고 진행하였습니다.
    (그룹 별로 분산이 동일합니다. 설령 사실이 아니더라도 가정이 그렇습니다.)

    따라서 분산이 다르다는 가정을 적용하는 방법은 파라미터에 pool.sd =F 를 넣어주는 것 입니다. 

     >>with(red.cell.folate, pairwise.t.test(folate, ventilation, pool.sd=F  )) 
                                                                           *default = T

 

   물론 데이터들이 등분산인지 아닌지 직감적으로 알기 어려운 경우도 있습니다. 그럴 경우에도 test를 합니다. 
   bartlett.test :

https://jrc-park.tistory.com/13

불러오는 중입니다...

또 다른 방법은 oneway.test 를 진행하는 것 입니다.

 


2.  P값이 좀 과장되게 나오는 것 같을 때는 
     >>with(red.cell.folate, pairwise.t.test(folate, ventilation, p.adj = "bonferroni")) 를 사용합니다. 
                                                                             *default = "holm"

'데이터분석' 카테고리의 다른 글

bartlett.test 등분산 검정  (0) 2019.12.19
R programming 비율 검정  (0) 2019.12.19
ANOVA(2) - Two Way  (0) 2019.12.19
ANOVA (1) - One way A  (0) 2019.12.19
Cor.test R programming 상관관계 분석  (0) 2019.12.18