[STATA] 일정한 조건에 따라 dummy 변수 쉽게 만들기
tabulate & generate()
STATA를 통해 가장 쉽게 더미 변수를 생성하는 방법은 tabulate과 generate command를 사용하는 것입니다.
tabulate 기존변수명, generate(더미변수명)
list
을 실행시키면 기존 변수에서의 관측치의 갯수에 따라 더미변수명1, 더미변수명2, 더미변수명3...라는 변수가 자동으로 생성됩니다.
xi: i.
xi command 역시 쉽게 더미 변수를 생성하도록 해줍니다. ‘i.*’는 xi 와 같이 쓰이면 ‘i.’ 뒤에 나오는 범주형 변수로 인식하고 더미 변수를 자동으로 생성해주는 역할을 하게 됩니다.
xi i.group
xi: reg wage_hourly age c.age#c.age i.w2edu
한편, 두번째 예와 같이 더미변수로 regression을 할 때에는 이렇게 생성된 (더미변수의 수-1)의 변수가 regression에 들어갑니다.
generate
그러나 이렇게 범주가 나뉘어지지 않은 자료에 대하여 일정한 조건 하에 더미변수를 생성해야 할 때도 있습니다. 예컨대 25세를 기준으로 young한지 아닌지에 대한 더미를 생성한다고 합시다.
gen young = 0
replace young = 1 if age<25
replace young = . if missing(age)
gen young = (age<25) if !missing(age)
두번째 command의 경우, age<25이라는 조건이 맞으면 1, 그렇지 않으면 0을 부여합니다. 그리고 결측값에 대해서는 이를 0으로 처리하지 않도록 확인합니다. STATA는 결측값을 무한대로 처리합니다.
!missing(x)는 해당 값이 결측값이 아니라는 것을 나타냅니다.