[STATA] 구간 더미변수(그룹) 쉽게 빠르게 만들기
1단계 : 구간변수 생성
2단계 : 구간변수를 바탕으로 더미변수 생성
* 물론 더미를 하나하나 만드는 노가다도 있다.
1단계 : 두가지 방법이 있다. egen과 cut( )을 사용하는 방법과 gen과 recode( )를 사용하기. 용도에 따라 다르겠지만 cut이 나을 듯..
(1안) egen과 cut 사용하기
참고 : http://www.ats.ucla.edu/stat/stata/faq/cut.htm
egen XG = cut(X), at(30,40,50,60,70)
요런식으로 하면 X라는 변수값에 대해 XG의 값을 30이상 40미만이면 30, 40이상 50미만이면 40 이런식으로 만들게 된다.
끝에 label 옵션을 주면 이해가 편한 변수명이 된다.
egen urbcat2 = cut(urb), at(0,34,68,101) label : same, but in addition defines labels "0- ", "34-" and "68-"
(2안) gen과 recode 사용하기
참고 : http://www.stata.com/statalist/archive/2002-08/msg00268.html
gen brackets=recode(price,10000,20000,30000,40000,50000, 75000, 100000, 200000, 300000)
이런 식으로 하면 price라는 변수에 대해 10000 이하면 brackets라는 변수를 10000으로, 10000 초과, 20000이하이면, 20000으로 생성한다.
다른 방법들도 있다.
참조 : http://www.unige.ch/ses/sococ/cl/stata/make.groups.html
generate urbcat=autocode(urb,4,0,100) break urb into four evenly spaced categories from 0 to 100 : urb라는 변수를 0에서 100까지 4 단위로 쪼갠다.
generate cat1=recode(urb,21,38,64,100) 4 groups (≤ 21, ≤ 38, ≤ 64 and ≤ 100) : 위의 2안
퍼센타일로 나누려면 xtile이란 명령어.
자 이제 2단계다.
(참조 : http://www.stata.com/statalist/archive/2002-08/msg00268.html )
tab과 gen의 조합이다.
tab A, gen(B) : A라는 구간변수의 구간에 따라 B1, B2, B3 ... 라는 더미변수들을 생성한다.
더미변수 만드는 다른 방법
generate sclass1 = sclass==1
generate sclass2 = sclass==2
generate sclass4 = sclass==4
끝.
'Stata' 카테고리의 다른 글
[stata] 반복적 업무를 단순하게 - foreach와 forvalue 사용하기 (프로그래밍) (0) | 2017.01.11 |
---|---|
[stata] 지니계수 분해하기 – 가중치(weight) 적용해서 : DASP (0) | 2016.12.17 |
STATA는 결측값(.)을 무한대로 처리한다 (0) | 2016.12.13 |
stata 지니계수 분해하기 (소득별 불평등 기여도) : 명령어 descogini (0) | 2016.12.09 |
stata 결과 지우기 (0) | 2016.12.01 |
댓글