본문 바로가기

방법론 공부/계량통계 방법론

[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)는 해당 값이 결측값이 아니라는 것을 나타냅니다.