Boxplot의 정확한 명칭은 box-and-whisker plot으로, dataset의 분포를 보여주기 위해 사용되는 그래프의 일종으로, 다음과 같이 생겼습니다.
STATA에서의 기본 command는 다음과 같습니다.
graph box 변수1 변수2 변수3
한편, 이는 변수 카테고리가 x축에 위치해서 y축에 통계값이 나타나는 그래프이고, 반대로 변수 카테고리가 y축에 위치한 boxplot을 그리기 위해서는 다음과 같은 command를 사용합니다.
graph hbox 변수1 변수2 변수3
변수1, 변수2, 변수3은 하나의 boxplot 그래프 안에서 다른 색깔로 그려집니다.
카테고리와 그래프 순서
그리고 over() option을 사용하면 전체 데이터를 over() option 에 따라 지정된 변수라는 커다란 카테고리로 나누고, 그 변수에 따라 앞서 분포를 파악하고자 하는 변수들을 반복적으로 분석할 수 있습니다. 최대 두 개의 over() option을 사용할 수 있습니다. 나중에 오는 over(2)이 가장 큰 범주가 되고, 앞에 온 over(1)이 하위 범주가 됩니다.
예컨대 다음의 command는 sex에 따라서 dataset를 범주화한 후에 다시 before과 after라는 시점에 따라 bp라는 변수의 관측치의 분포를 그린 것입니다.
. graph box bp, over(when) over(sex)
배열
한편, 이때 bp 안에서 카테고리명의 알파벳 순서에 따라 그래프가 배열되기 때문에 before와 after 비교시, 따로 when=1이 before로, when=2가 after로 label이 붙여지지 않은 상태라면 after가 먼저 그래프 상에 배치되는 것에 유의해야 합니다. 다음과 같이 순서를 직접 지정해줄 수도 있습니다.
. generate order = 1 if when=="Before"
. replace order = 2 if when=="After"
. graph box bp, over(when, sort(order)) over(sex)
그래프의 순서를 분포에 따라서 재배열할 수도 있습니다. 다음은 wage 중앙값이 가장 낮은 industry에 따라서 그래프를 배열한 것입니다.
. graph hbox wage, over(industry, sort(1) )
반대로 wage 중앙값이 가장 높은 industry에 따라 배열하고 싶으면 다음의 command를 쓰면 됩니다.
. graph hbox wage, over(industry, sort(1) descending)
포맷
여기에 이런저런 옵션을 추가하면 다음과 같은 그래프를 얻을 수 있지요.
. graph box bp, over(when) over(sex)
ytitle("Systolic blood pressure")
title("Response to Treatment, by Sex")
subtitle("(120 Preoperative Patients)" " ")
note("Source: Fictional Drug Trial, StataCorp, 2003")
따라서 Boxplot는 남녀의 임금차이 등 2개 이상의 분포를 평가할 때 유용합니다.
'방법론 공부 > 계량통계 방법론' 카테고리의 다른 글
[STATA] 원하는 문자를 추출하고 바꾸는 정규표현식(regular expression) - regexm, regexr, regexs (0) | 2015.03.12 |
---|---|
[STATA] 일정한 조건에 따라 dummy 변수 쉽게 만들기 (0) | 2015.03.12 |
[STATA] 카테고리에 따라 데이터 정렬 혹은 생성 - sort, gsort, by, bysort (0) | 2015.03.12 |
[STATA] 히스토그램과 instant command - histogram, scatteri (0) | 2015.03.11 |
[STATA] 정말 유용한 egen row: mean, sum, total, max, min, tag, group, concat, cut (0) | 2015.03.11 |