국민노후보장패널조사에서는 1~3차년도 가구 데이터를 횡으로 머지한 데이터(KReISHW)를 제공하고 있다. 이 경우 각 년도에서 진입차수가 같은 가구의 해당 진입차수 가구번호를 기준으로 머지한 뒤 서로 다른 진입차수의 데이터를 합쳐준다.
예를 들어 1~3차년도 가구자료를 횡으로 머지하는 경우, 다음과 같은 절차를 따른다.
① 1~3차년도 가구자료에서 각각 진입차수 (hent)가 1인 케이스를 추출한 후 w01hid를 기준으로 정렬한 뒤 merge한다.
② 2차, 3차년도 가구자료에서 각각 진입차수 (hent)가 2이고 2차년도에 조사 참여한 케이스를 추출한 후 w02hid를 기준으로 정렬한 뒤 merge한다.
③ 3차년도 가구 자료에서 진입차수(hent)가 3이거나 2차년도 진입하였으나 2차년도에 조사 참여하지 않은 케이스를 추출한다.
④ 위의 결과 만들어진 세 개의 데이터를 종으로 합친다.
/* sas Merge문, Append문의 활용 */
data k01; set k.kreish01; /*1차년도 데이터에서 필요한 변수만 추출 */
keep hid w01hid hent h01d001 h01d002;
if hent=1; run; /*진입차수가 1인 케이스만 추출*/
proc sort; by hid; run;
data k02; set k.kreish02; /*2차년도 데이터에서 필요한 변수만 추출 */
keep hid w02hid hent h02d001 h02d002;
if hent=1; run; /*진입차수가 1인 케이스만 추출*/
proc sort; by hid; run;
data k03; set k.kreish03; /*3차년도 데이터에서 필요한 변수만 추출 */
keep hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002;
if hent=1; run; /*진입차수가 1인 케이스만 추출*/
proc sort; by hid; run;
data t1; merge k01 k02 k03; by hid; run; /*진입차수가 1인 가구자료를 머지*/
data k02_1; set k.kreish02; /*2차년도 데이터에서 필요한 변수만 추출 */
keep hid w02hid hent h02d001 h02d002;
if hent=2; run; /*진입차수가 2인 케이스만 추출*/
proc sort; by w02hid; run;
data k03_1; set k.kreish03; /*3차년도 데이터에서 필요한 변수만 추출 */
keep hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002;
if hent=2 & w02hsvy=1; run; /*2차년도 조사 참여하고 진입차수가 1인 케이스만 추출*/
proc sort; by w02hid; run;
data t2; merge k02_1 k03_1;
by w02hid;run; /*진입차수가 2인 가구자료를 머지*/
data t3; set k.kreish03;
keep hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002;
if hent=3 or (hent=2 & w02hsvy=2); run; /*진입차수가 3이거나 2차년도 조사 참여하지 않은 진입차수가 2인 케이스 추출*/
data hw;
retain hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h01d001 h01d002 h02d001 h02d002 h03d001 h03d002; /*변수 순서 정리*/
set t1 t2 t3; run; /*각 진입차수별로 머지한 데이터를 종으로 합친다*/
/* spss Match문, Add문의 활용 */
get file='D:\KReIS\SPSS\kreish01.sav'
/keep=hid w01hid hent h01d001 h01d002. /*1차년도 데이터에서 필요한 변수만 추출 */
sort cases by hid.
select if hent=1. /*진입차수가 1인 케이스만 추출*/
save out ='D:\KReIS\SPSS\k01.sav'
compressed.
get file='D:\KReIS\SPSS\kreish02.sav'
/keep=hid w02hid hent h02d001 h02d002. /*2차년도 데이터에서 필요한 변수만 추출 */
sort cases by hid.
select if hent=1. /*진입차수가 1인 케이스만 추출*/
save out ='D:\KReIS\SPSS\k02.sav'
compressed.
get file='D:\KReIS\SPSS\kreish03.sav' /*3차년도 데이터에서 필요한 변수만 추출 */
/keep=hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002.
sort cases by hid.
select if hent=1. /*진입차수가 1인 케이스만 추출*/
save out ='D:\KReIS\SPSS\k03.sav'
compressed.
match files /file='D:\KReIS\SPSS\k01.sav' /*진입차수가 1인 가구자료를 머지*/
/file='D:\KReIS\SPSS\k02.sav'
/file='D:\KReIS\SPSS\k03.sav'
/by hid.
exe.
save out ='D:\KReIS\SPSS\t1.sav'
compressed.
get file='D:\KReIS\SPSS\kreish02.sav'
/keep=hid w02hid hent h02d001 h02d002. /*2차년도 데이터에서 필요한 변수만 추출 */
sort cases by w02hid.
select if hent=2. /*진입차수가 2인 케이스만 추출*/
save out ='D:\KReIS\SPSS\k02_1.sav'
compressed.
get file='D:\KReIS\SPSS\kreish03.sav' /*3차년도 데이터에서 필요한 변수만 추출 */
/keep=hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002.
sort cases by w02hid.
select if hent=2 & w02hsvy=1. /*2차년도 조사 참여하고 진입차수가 1인 케이스만 추출*/
save out ='D:\KReIS\SPSS\k03_1.sav'
compressed.
match files /file='D:\KReIS\SPSS\k02_1.sav' /*진입차수가 2인 가구자료를 머지*/
/file='D:\KReIS\SPSS\k03_1.sav'
/by w02hid.
exe.
save out ='D:\KReIS\SPSS\t2.sav'
compressed.
/*진입차수가 3이거나 2차년도 조사 참여하지 않은 진입차수가 2인 케이스 추출*/
get file='D:\KReIS\SPSS\kreish03.sav'
/keep=hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002.
sort cases by w03hid.
select if hent=3 or (hent=2 & w02hsvy=2).
save out ='D:\KReIS\SPSS\t3.sav'
compressed.
add files /file='D:\KReIS\SPSS\t1.sav' /*각 진입차수별로 머지한 데이터를 종으로 합친다*/
/file='D:\KReIS\SPSS\t2.sav'
/file='D:\KReIS\SPSS\t3.sav'.
exe.
save out ='D:\KReIS\SPSS\hw.sav'
compressed.
get file='D:\KReIS\SPSS\hw.sav' /*변수 순서 정리*/
/keep=hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h01d001 h01d002 h02d001 h02d002 h03d001 h03d002.
save out ='D:\KReIS\SPSS\hw.sav'
compressed.
/* stata Merge문, append문의 활용 */
clear
set mem 300m
use "D:\KReIS\STATA\kreish01.dta", clear
keep hid w01hid hent h01d001 h01d002 /*1차년도 데이터에서 필요한 변수만 추출 */
keep if hent==1 /*진입차수가 1인 케이스만 추출*/
sort hid
save "D:\KReIS\STATA\k01.dta", replace
use "D:\KReIS\STATA\kreish02.dta", clear
keep hid w02hid hent h02d001 h02d002 /*2차년도 데이터에서 필요한 변수만 추출 */
keep if hent==1 /*진입차수가 1인 케이스만 추출*/
sort hid
save "D:\KReIS\STATA\k02.dta", replace
use "D:\KReIS\STATA\kreish03.dta", clear /*3차년도 데이터에서 필요한 변수만 추출 */
keep hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002
keep if hent==1 /*진입차수가 1인 케이스만 추출*/
sort hid
merge hid using "D:\KReIS\STATA\k02.dta" "D:\KReIS\STATA\k01.dta", unique sort
tab _merge /*진입차수가 1인 가구자료를 머지*/
save "D:\KReIS\STATA\t1.dta", replace
use "D:\KReIS\STATA\kreish02.dta", clear
keep hid w02hid hent h02d001 h02d002 /*2차년도 데이터에서 필요한 변수만 추출 */
keep if hent==2 /*진입차수가 2인 케이스만 추출*/
sort w02hid
save "D:\KReIS\STATA\k02_1.dta", replace
use "D:\KReIS\STATA\kreish03.dta", clear /*3차년도 데이터에서 필요한 변수만 추출 */
keep hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002
keep if hent==2 & w02hsvy==1 /*2차년도 조사 참여하고 진입차수가 1인 케이스만 추출*/
sort w02hid
merge w02hid using "D:\KReIS\STATA\k02_1.dta", unique sort
tab _merge /*진입차수가 2인 가구자료를 머지*/
save "D:\KReIS\STATA\t2.dta", replace
/*진입차수가 3이거나 2차년도 조사 참여하지 않은 진입차수가 2인 케이스 추출*/
use "D:\KReIS\STATA\kreish03.dta", clear
keep hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h03d001 h03d002
keep if hent==3 | (hent==2 & w02hsvy==2)
save "D:\KReIS\STATA\t3.dta", replace
use "D:\KReIS\STATA\t1.dta", clear /*각 진입차수별로 머지한 데이터를 종으로 합친다*/
append using "D:\KReIS\STATA\t2.dta"
append using "D:\KReIS\STATA\t3.dta"
keep hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h01d001 h01d002 h02d001 h02d002 h03d001 h03d002
order hid w01hid w02hid w03hid hent w01hsvy w02hsvy w03hsvy h01d001 h01d002 h02d001 h02d002 h03d001 h03d002 /*변수 순서 정리*/
save "D:\KReIS\STATA\hw.dta", replace