Stata 프로그램의 장점 중 하나는 그래프 편집으로, 논문에 바로 게재할 수 있는 퀄리티의 그래프를 바로 얻을 수 있다는 장점이 있다. 이에 이전 포스팅에서 Stata 프로그램에서의 그래프 작성에 관한 기초 내용을 다루었으며, 이번 포스팅에서는 stata 바 그래프 작성과 관련한 구체적인 명령어를 살펴볼 예정이다. Stata 그래프 작성의 기초가 궁금하신 분들은 이전 포스팅을 참고하길 바란다.
☞ 2021.07.28 - [통계공부/Stata] - [Stata] 그래프 작성의 기초
그래프 작성과 관련한 명령어를 알아보기 위해 stata 프로그램에 기본으로 내장된 데이터를 예시로 들어보자. Stata에는 다양한 데이터를 기본 데이터로 내재하고 있는데, 이 중 오늘은 ‘bpwide’라는 데이터셋을 이용할 것이다. 이를 위한 명령어는 아래와 같다.
sysuse bpwide
bpwide라는 데이터셋을 불러왔는데, 해당 데이터셋에 대한 구조와 변수가 궁금하다면 describe 명령어를 사용해주면 된다. 그러면 아래 사 진과 같이 데이터의 관찰값(obs: 120), 변수의 개수(vars: 5), 용량(size: 960)과 변수명, 저장형식(storage type), 표시형식(display format), 라벨값(value label), 변수 라벨(variable label)을 확인할 수 있다.
describe
해당 혈압수치에 대한 가상의 데이터셋으로 paitent는 환자의 ID값, sex는 환자의 성별(범주형 변수), agegrp은 나이 범주(30-45/46-59/60+), 전후 혈압수치(bp_before, bp_after) 총 5개의 변수가 있다. 데이터셋에 대한 이해가 얼추 되었으니 그렇다면 이제 막대그래프를 그려보도록 하자. 막대그래프에 syntax의 기본 구조와 옵션들은 아래와 같다.
graph bar 변수명 : 세로 막대그래프 그리기
graph hbar 변수명 : 가로 막대그래프 그리기
graph bar 변수명, over(변수명) : over 괄호 안에 오는 변수값에 따른 막대그래프 그리기
graph bar 변수명, nolbael : 범례에 오직 y 변수명만 표기하도록 하는 옵션
graph bar 변수명, exclude0 : y축에 0의 값을 강제로 포함시키 않도록 하는 옵션
먼저 후 혈압수치(bp_after)의 막대그래프를 그려보도록 하자.
graph bar bp_after
그래프 결과가 당황스러울 수 있으나, 이렇게 나오는 것이 많다. y축을 살펴보면 알 수 있듯이 막대그래프에서는 해당 범주에 속하는 값들의 평균값(mean)으로 막대그래프가 그려지며, 위의 예시에서는 어떠한 범주 설정 없이 bp_after에 대한 막대그래프를 그려달라고 했기에 이와 같은 결과가 나온다. 하지만 보통 연구자들은 이런 그래프가 필요가 없을 것이다. 대신 연령별에 따른 혈압수치, 혹은 성별에 따른 혈압수치가 궁금할 수 있다. 이처럼 범주를 설정하기 위해서는 over이라는 옵션을 사용해야 한다.
graph bar bp_after, over(agegrp)
좀 더 그럴듯한 그래프가 그려졌다. 그렇다면 이번에는 연령뿐만 아니라 성별이라는 기준도 추가해보도록 하자. 이를 위한 syntax는 아래와 같다.
graph bar bp_after, over(agegrp) over(sex) ... ①
graph bar bp_after, over(sex) over(agegrp) ... ②
over 옵션 지정시 어떠한 변수를 먼저 넣느냐에 따라 막대그래프의 형태가 달라짐을 알 수 있다. 이제 추가로 성별, 연령별 전후 혈압수치를 모두 보도록 하자.
graph bar bp_before bp_after, over(agegrp) over(sex)
앞서 설명했듯이 stata 프로그램에서 막대 그래프를 그릴 때, 기본적으로 평균값을 디폴트로 한다. 만약 내가 혈압수치의 평균값이 궁금한 것이 아니라 최댓값이 궁금하다면 이를 syntax에 넣어 원하는 그래프를 얻을 수 있다.
graph bar (max) bp_before bp_after, over(agegrp) over(sex)
max 외에도 최솟값(min)을 지정할 수도 있고, 중앙값(meadian), 합계(sum) 등 다양한 옵션이 지정 가능하다. 이제 위의 그래프를 가로 막대 그래프로 바꿔보도록 하자. 이는 단순히 위의 그래프를 가로로 눕혀주는 과정과 동일하다.
graph bar (max) bp_before bp_after, over(agegrp) over(sex)
graph 옵션에는 정말 수많은 옵션이 있는데, 이 중 사용빈도가 높은 몇 가지 옵션만 설명해보도록 하겠다.
먼저 nolabel 옵션은 종속변수의 이름만을 사용하는 옵션으로 범례에 대한 설명(label이 붙지 않는다.
graph bar (max) bp_before bp_after, over(agegrp) over(sex) nolbael
다음으로 exclude0 옵션은 y축에 0 값을 강제로 포함하지 않도록 하는 옵션이다.
graph bar (max) bp_before bp_after, over(agegrp) over(sex) exclude0
이외에 다른 옵션들로 그래프의 이름을 짓는다거나 범례를 수정하는 등 여러 가지를 조작할 수 있지만, 이러한 수정은 syntax보다 그래프 편집기에서 편집하는 것이 용이할 수 있기에 이후 그래프 편집기 포스팅에서 설명하고자 한다.
'통계공부 > Stata' 카테고리의 다른 글
[Stata] 그래프 작성: 파이 그래프(pie chart) +명령어 codebook 설명 (0) | 2021.08.05 |
---|---|
[Stata] 그래프 작성의 기초 (0) | 2021.07.28 |
논문 따라 패널 데이터 분석하기 - Stata 파일 Mplus 파일로 변환: 신나리, 안재진(2014)(8) (3) | 2021.07.08 |
논문 따라 패널 데이터 분석하기 - 역코딩, 척도 평균, t-test: 신나리, 안재진(2014)(7) (0) | 2021.07.05 |
논문 따라 패널 데이터 분석하기 - 항목묶기, 크론바하 알파 구하기: 신나리, 안재진(2014)(6) (1) | 2021.07.02 |