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을 조합해서 적절히 사용하면 좋다.
'Stata' 카테고리의 다른 글
stata 14 버전 이상의 유니코드 파일을 13버전 이하의 아스키 코드로 저장하기 (하위버전 저장) (0) | 2017.11.20 |
---|---|
[Stata] 분위수 만들기 (소득 10분위, 100분위 등), 분위 경계값 - xtile, pctile, centile (0) | 2017.11.14 |
stata의 dta 파일을 spss의 sav로 변환하기 - 변수설명 한글 깨짐 없이 // conver stata (*.dta) file to spss (*.sav) (0) | 2017.11.07 |
stata 에서 01 02 등 0이 들어가는 숫자 반복하기 (loop) (0) | 2017.10.28 |
residual plots - 그래프로 잔차분석하기 (작성중) (0) | 2017.09.13 |
댓글