농업생물통계/R Studio

[R Studio] 두 집단의 평균 비교(단일표본 t-test, t-test)

꿈꾸 2021. 12. 9. 16:30
반응형

t-test란 두 집단의 평균 사이에 유의한 차이가 있는 지 검증하는 가장 보편적인 통계 방법입니다.

 

t-test를 사용하기 위해 만족해야되는 가정으로 3가지가 존재합니다.

    1. 두 집단의 데이터가 각각 정규분포를 이루었는가?(정규분포 가정)

         이때, 대표본(n≥30)인 경우에는 정규분포를 이룬다고 보고, 소표본인 경우에만 정규분포를 이루는지 확인합니다.

    2. 두 집단의 데이터가 독립적으로 추출되었는가?

    3. 두 집단의 분산이 동일한가?(등분산 가정)

 

3가지 가정을 어떻게 만족하느냐에 따라 통계 분석을 하는 방법이 달라집니다.

 

 

 

예시를 보여드리기 위해 다음 CSV 파일을 불러와 보겠습니다.

 

t-test.csv
0.00MB

이 데이터는 총 30개 잎의 길이(length)와 폭(width)로 구성되어 있습니다. 

 

 

이 데이터에서 잎의 길이(length)와 폭(width)이 차이가 있는지 알아내기 위해 통계분석을 수행합니다.

 

두 집단의 평균에 차이가 있는지 알아보는 t-test를 이용하기 전에, 먼저 분석하려는 데이터에서 위와 같은 3개의 가정이 성립하는지 확인해야 합니다. 

 

이를 알아보기 위해 우선 CSV 파일을 R Studio에서 불러옵니다. 저는 이 데이터를 앞으로 leaf라고 명명하겠습니다.

 

 

 

데이터를 한 번 열어보면, length열이 잘못 읽힌 것을 알 수 있습니다. (제 컴퓨터는 자주 그런답니다.) 우선 이를 수정해줍니다.

 

 

name()를 이용해서 1열의 열 이름을 변경해줍니다. names(데이터명)[이름 변경할 열]<-c("변경할 이름")입니다.

 

 

그러면 다음과 같이 열 이름이 변경된 것을 확인할 수 있습니다.

 

 

그럼 이제 데이터를 제대로 불러왔으니, 이 데이터가 t-test의 3가지 가정을 만족하는지 알아보고 R Studio에서 t-test를 돌려보겠습니다.

 

1. 두 집단의 데이터가 각각 정규분포를 따르는가?(정규분포 가정)

   R Studio에서는 데이터가 정규분포를 따르는지 확인하기 위해 shapiro.test()를 이용합니다.

 

    shapiro.test(데이터명$분석할 열 이름)으로 적으면 되기 때문에, 각각 shapiro.test(leaf$length)와 shapiro.test(leaf$width)라고 적고 돌려줍니다.

 

    먼저 length입니다. 

 

    p-value = 0.9556으로, p값이 0.05 이상이기 때문에 정규성을 만족합니다.

 

    다음은 width입니다.

 

    p-value = 0.8276으로, p값이 0.05 이상이기 때문에 정규성을 만족합니다.

 

2. 표본이 독립적으로 추출되었는가?

     데이터가 정규분포를 만족하고 표본이 독립적이라면 t-test를 이용하고, 독립적이지 않다면 paired t-test를 이용합니다.

 

3. 두 집단의 분산이 동일한가?(등분산 가정)

등분산 검정을 위해 R Studio에서 var.test()를 이용합니다. var.test(leaf$length, leaf$width)입니다.

 

 

p-value = 0.1094로 , p값이 0.05 미만이기 때문에 두 집단의 분산이 서로 같다는 것을 알 수 있습니다.

 

때문에 이 데이터의 두 집단의 평균을 비교하기 위해서는 t.test(equal varianve)를 이용해야 합니다.

 

 

위의 3가지 가정에 대해서 확인을 하였으니, 이제는 t-test를 돌려보겠습니다.

 

t.test()를 이용해줍니다. 위에서 두 집단의 분산이 같지 않다는 것을 확인하였으므로, t.test(leaf$length, leaf$width, var.equal=TRUE)라고 적어주면 됩니다.

 

만약 분산이 다르다면, t.test(leaf$length, leaf$width, var.equal=FALSE) 혹은 t.test(leaf$length, leaf$width)라고 적어주면 됩니다. t-test의 함수에서 기본적으로 var.equal = FALSE로 설정되어 있기 때문입니다.

 

 

p-value<2.2e-16으로 p값이 0.05 미만이기 때문에 두 집단의 평균은 같지 않습니다.

 

그리고 length의 평균(x의 평균)은 5.92이며, width의 평균(y의 평균)은 3.00입니다.

 

지금까지 R Studio에서 t-test를 실행하는 방법을 알아보았습니다.

 

 

 

반응형