본문 바로가기
Stata

패널분석에서 한번이라도 경험한 가구, 경험한 횟수 알기 (변수 만들기)

2017. 11. 9.

by 와 egen total 또는 egen max를 쓰면 된다.

by라는 기능은 여러모로 활용된다.


참조 : https://www.ssc.wisc.edu/sscc/pubs/stata_panel.htm#how_many



패널 데이터는 long으로 구성되어 있다고 가정한다.


가구별(hhid)로 해당기간동안 임대소득(rent)이 있었던 년수의 변수(rent_times) 생성

by hhid: egen rent_times=total(rent!=0 & rent!=.)

- 자 여기서 egen total 을 사용하였는데 이는 total 뒤에 괄호 안의 조건을 만족시키는 관측치의 개수를 변수의 값으로 만들라는 것이다. 여기선 0이 아니면서 또 .도 아닌 그러니까 뭔가 숫자(소득)가 있었던 년도의 개수를 변수의 값으로 생성하라는 것이다.



또는

gen rentox=1 if rent!=0 & rent!=.    // 임대소득 유무 더미변수 만드는 것임
recode rentox (.=0)                       // 임대소득 유무 더미변수 만드는 것임
by hhid: egen rent_times=total(rentox)



가구별(hhid)로 해당기간동안 임대소득(rent) 최고액변수(rent_max) 생성

by hhid: egen rent_max=max(rent)

- 여기선 egen max를 사용하였다. 말그대로 괄호 안의 조건의 관측치 중 최대값을 반환하라는 것이다.


가구별(hhid)로 해당기간동안 임대소득(rent)이 한번이라도 있었던 가구는 1로 코딩하는 변수 생성

gen rentox=1 if rent!=0 & rent!=.  // 위에서 만들었으면 생략
recode rentox (.=0)                     // 위에서 만들었으면 생략

by hhid: egen rent_ever=max(rentox)



정리 : 패널 데이터를 살펴보거나 분석할 때는 by와 gen/egen을 조합해서 적절히 사용하면 좋다.




댓글