본문 바로가기
Stata

[Stata] 그룹(패널)에서 최대값 또는 최근값 출력

2024. 5. 19.

예를 들어 국가별, 연도별 자료가 있는데 최근 가용한 연도로 국가별 비교를 해보려고 한다.

어떤 국가는 2022년이 최근값, 어떤 국가는 2021년 이런식일 경우.

 

* 데이터 정렬
sort 국가 time

(필요에 따라 해당 변수의 결측값이 있는 연도를 제거할 필요)

* 그룹별 최근값 계산
bysort id (year): gen last_value = value[_N]     // 여기서 [_N]은 value라는 변수의 그룹별 마지막 값(마지막 연도의 값)

* 중복된 값 제거 (id별로 한 개의 값만 남기기)  
bysort id: keep if _n == _N          //  _n 은 현재 관측치의 순서



그러면 최근 연도만 남고 아래와 같은 식으로 뽑아 볼 수 있고 여기서 막대 그래프 등 필요한 작업

 

댓글