두 그룹의 평균을 비교하기











두 그룹의 평균을 비교하는 일은 거창한 연구가 아니더라도, 정말 자주 활용하는 통계분석입니다. 하지만 이것 마저도 처음에는 쉽지 않죠. 저는 오히려 이것까지만 제대로 따라오시면 나머지도 쉽다고 말씀드리고 싶군요. 두 그룹의 평균을 비교하는 통계분석 방법은 전세계에 딱 3개만 있다고 생각하시면 됩니다. 그중 하나가 t-test고요. 다음 하나는 Wilcoxon rank-sum test , 마지막 하나가 Welch’s test입니다. 다른 통계책을 함께 펼쳐 놓고 공부하다가 Mann-Whitney U test와 Mann Whitney-Wilcoxon(MWW) test라는 이름의 분석 방법을 만나실 수도 있는데요. 이 방법들은 모두 Wilcoxon rank-sum test랑 같은 분석이니 당황하실 필요 없습니다. 여러분은 이제 두 그룹의 평균을 비교할 때, 앞서 이야기한 딱 3가지 방법만 머리에 떠올리시면 됩니다. 그렇다면 3가지 방법 중에서 어떤 방법을 써야할까요?

제가 통계를 제대로 공부하기 전에는 통계방법이 해마다 업데이트가 되는 줄 알았습니다. 그래서 제가 대학교 다닐 때 배운 구닥다리 방법으로 의미 있는 p값을 찾지 못할 때, 다른 연구자들은 최신의 통계방법을 사용하여 비슷한 데이터로도 더 작은 p값을 뽑아내는 줄 알았지요. 하지만 막상 통계를 공부해보니, 전혀 그렇지 않더군요. 평균을 비교하는 방법은 예나 지금이나 이렇게 딱 3가지뿐 입니다. 그러니 이 챕터를 공부하고 나시면 여러분은 이제 전세계에서 평균을 가장 잘 비교하지는 못해도, 절대 두 번째가 되지는 않으실 겁니다.

3가지 중 하나를 선택하는 요령



위의 순서도를 보시고, 차근차근 따라하시면 됩니다. 가장 먼저 여러분의 데이터에서 눈여겨 보아야할 부분은 비교하고자 하는 결과값이 연속형 변수냐, 아니냐 입니다. 연속형 변수란 수량화가 가능한 값을 말합니다. AST, ALT등의 간수치나 키, 몸무게 등이 모두 연속형 변수이지요. 나이는 그럼 연속형 변수일까요, 아닐까요? 나이는 대부분 연속형 변수입니다. 하지만 국민건강보험공단이나 심평원에서 배포하는 보건빅데이터에는 나이가 단순한 숫자가 아닌 연령대로 구분되어 있죠. 10대, 20대, 30대로 구분된 데이터라면 이건 더이상 연속형 변수가 아닙니다. 혼란스러우시죠? 제가 다시 정리해드리겠습니다.




모든 데이터는 위 그림에서 보시는 것처럼 범주형 변수와 연속형 변수로 나뉩니다. 그리고 범주형 변수는 다시 명목척도와 순위척도로 구분되죠. 연속형 변수는 간격척도와 비율척도로 또다시 세분화 되고요. 명목척도는 성별이나 직업, 학력, 거주지 등의 변수를 말합니다. 순위척도는 서열척도라고도 자주 불리는데, 설문지에서 대게 많이 등장하죠. 나쁨, 보통, 좋음 등 명목척도 같지만 변수 사이에 순위(서열)가 존재하는 경우가 여기에 해당합니다. 취소선으로 처리된 부분은 궁금한 분만 읽으시면 됩니다. 나머지 분들은 그냥 넘어가도 전혀 문제가 되지 않습니다. 간격척도는 정수로 딱 떨어지는 값들인 경우입니다. 가장 대표적인 간격척도는 사람 수를 셀 때입니다. 학생수나, 입원 환자수등을 셀 때는 정수 밑으로 나눠 셀 수가 없죠. 이에 반해서 비율척도는 소숫점 밑으로 나눠 셀 수 있는 모든 값들이 해당합니다. 신장이나 나이, 체중, 거리, 간수치 등이 모두 여기에 포함되죠. 자, 그럼 연령대는 연속형 변수일까요, 아닐까요? 당연히 범주형 변수안에 포함되는 순위척도입니다. 나이를 ’연령’으로 분석할 때와 ’연령대’로 분석하는 경우는 통계분석 방법이 완전히 다르니 잘 염두해두셔야 합니다.

그럼, 다시 순서도를 살펴보도록 하겠습니다. 연속변수가 아니라면, Wilcoxon signed rank test로 비교를 해야겠군요. 만약, 결과값이 연속형 변수라면 순서도를 따라 밑으로 내려가서 분포가 정규분포인지 아닌지를 다시 살펴야합니다. 만약, 정규분포를 하지 않는다면, 여전히 Wilcoxon signed rank test로 분석을 해야겠군요. 하지만 정규분포를 한다면 한단계를 더 거쳐야합니다. 비교하고자 하는 두 그룹의 분산이 서로 동일한지 그렇지 않은지에 따라 분석 방법이 달라지기 때문입니다. 만약, 두 그룹이 등분산을 만족한다면 그 유명한 Student t test(간혹, independent t test나 단순히 t-test라고 불리기도 합니다.)로 분석을 하게 됩니다. 등분산을 만족하지 못한다면, 대신 Welch’s test라는 다소 낯선 분석 방법이 필요하죠.


이제 어떤 경우에 세 가지 분석 방법 중 하나를 골라야하는지 알아봤으니, 각각의 분석방법을 R스튜디오에서 따라하는 방식으로 함께해보겠습니다.

실습할 예제 데이터 불러오기

오늘 실습에 사용할 데이터는 meanData라는 이름의 데이터셋이고요. 총 41명 학생의 성적이 입력되어 있습니다. 아래 명령어를 R script창에 입력하고 ctl + return(or enter) 키조합 (맥의 경우 cmd + return)을 누르시면 해당 데이터셋이 우측 상단의 Global Environment창에 떠오른 걸 확인하실 수 있을 겁니다. 여기까지 잘 따라오셨다면, 실습할 예제데이터를 메모리에 잘 오르신 거에요.

> meanData <- read.csv(file = "./ch04_01.csv", header = TRUE)