지금까지 Stata 프로그램 세팅이나 데이터(혹은 변수)조작과 관련한 기본적인 명령어들을 알아보았다. 이번 포스팅에서는 기본 명령어인 drop, keep을 알아보고 stata 기본 명령어 포스팅은 마무리를 하고자 한다. 지금까지 알아본 Stata 기본 명령어에는 help, cd, set more off, sysuse, ssc install, browse, describe, list, sort, clear, exit, tab, sum, encode, decode, label, rename, gen, egen, replace, recode가 있었으며, 이 중에서 특히 tab, sum, gen/egen, replace, recode는 활용도가 높기 때문에 직접 많이 사용해보면서 익혀두는 것이 좋다. 오늘 소개할 drop과 keep 역시 많이 사용하는 명령어이기 때문에, 실습을 통해 충분히 익혀두는 것을 권한다. 아래는 지금까지 소개한 기본 명령어 포스팅이 나열되어 있으니, 각각의 명령어가 궁금하신 분들은 아래 링크를 통해 개별 명령어에 대한 소개를 읽어보길 바랍니다.
☞ Stata 기본 명령어 포스팅 정리:
2020/03/13 - [통계 분석/Stata] - [Stata] 기본 명령어(1): help, cd, set more off, sysuse
2020/03/15 - [통계 분석/Stata] - [Stata] 기본 명령어(2): ssc install, browse, describe
2020/03/17 - [통계 분석/Stata] - [Stata] 기본 명령어(3): list, sort, clear, exit
2020/03/21 - [통계 분석/Stata] - [Stata] 기본 명령어(4): tab, sum
2020/03/23 - [통계 분석/Stata] - [Stata] 기본 명령어(5): encode, decode, label, rename
2020/03/27 - [통계 분석/Stata] - [Stata] 기본 명령어(6): gen, egen
2020/03/29 - [통계 분석/Stata] - [Stata] 기본 명령어(7): replace, recode
1. drop
drop 변수명: 해당 변수를 제거할 때 사용하는 명령어
drop if (조건) : 해당 조건을 충족하는 관찰값을 제거하는 명령어
drop은 변수나 일부 관찰값을 제거할 때 사용할 수 있는 명령어이다. 먼저 drop 뒤에 바로 변수명을 붙여주면 해당 변수들을 탈락시켜주는데, 한 개 이상의 변수를 나열할 수 있다. 예시를 한 번 보도록 하자. Stata에서 기본으로 제공하는 auto 데이터를 써보도록 하자.
sysuse auto
데이터를 부르면, 왼쪽 Variables 창에 현재 데이터에 있는 변수들을 확인할 수 있다. 이 중 내가 없애고 싶은 변수가 displacement, gear_ratio, foreign이라면 다음과 같이 command를 입력해주면 된다.
drop displacement gear_ratio foreign
혹은 drop displacement - foreign
변수를 제거하는 것뿐만 아니라 특정 조건을 해당하는 관찰값들을 제거할 수 있다. 예를 들어, 위에서 사용한 auto라는 데이터를 보면 rep78이라는 변수가 있는데 해당 변수에 결측값들이 있는 것을 확인할 수 있다.
이 결측값들을 제거하고 싶다면 다음과 같이 command를 입력해주자.
drop if rep78==.
해당 command를 입력하면, 아래 왼쪽 사진과 같이 5개의 관측값이 제거되었다는 결과가 뜬다. 다시 한 번 위에서와 동일하게 결측값을 포함하여 빈도분포표를 제시해달라는 tab 명령어를 실행하면 아래 오른쪽 사진과 같은 결과가 나왔다. 이미 drop을 이용하여 결측값을 제거했기에, 결측값을 포함해달라고 했지만 결측값이 없어 그림과 같은 결과가 나오는 것이다.
2. keep
keep 변수명: 해당 변수를 유지할 때 사용하는 명령어
keep if (조건) : 해당 조건을 충족하는 관찰값을 유지하는 명령어
위의 내용을 보면 알다싶이, keep과 drop은 반대되는 명령어이다. drop은 변수나 관찰값들을 탈락시키는 명령어인 반면, keep은 변수나 관찰값들을 유지하는 명령어인 것이다. 그래서 위의 drop의 command 작성 방식과 동일하게 작성하면 되고, 다만 그 내용이 변수나 관찰값을 유지할 때 사용되는 것으로 변경된다는 것 밖에 차이가 없다.
앞선 예시에서 drop displacement gear_ratio foreign를 입력하면 세 개의 변수(displacement gear_ratio foreign)가 탈락된 반면, keep displacement gear_ratio foreign를 입력하면 세 개의 변수를 제외하고 다른 나머지 변수들은 탈락되고 세 개의 변수만이 살아남는다.
마찬가지로 앞에서 사용한 drop if rep78==.은 rep78이 결측인 경우만 제거된다면 keep if rep78==.을 실행하면, rep78이 결측인 경우만 남고 나머지 데이터들을 삭제된다.
keep if rep78==.을 실행하면 rep78이 결측인 5개의 케이스만 살아남고 다 지워진다.
'통계공부 > Stata' 카테고리의 다른 글
[Stata] t-test 관련 명령어: robvar, ttest (0) | 2020.04.08 |
---|---|
[Stata] 카이제곱 관련 명령어: tab, tabchi (+findit) (0) | 2020.04.04 |
[Stata] 기본 명령어(7): replace, recode (4) | 2020.03.29 |
[Stata] 기본 명령어(6): gen, egen (0) | 2020.03.27 |
[Stata] 기본 명령어(5): encode, decode, label, rename (0) | 2020.03.23 |