본문으로 바로가기

연구제안 및 문의하기

함께하는 KLIPS, 소통하는 KLIPS, 열린 KLIPS

FAQ

직업력자료에 개인의 성별, 연령 붙이기

  • Date2016.02.03
  • Hit3,149
개인단위의 일자리 정보를 모두 수록한 자료가 바로 직업력 자료이다. 그런데, 이 자료를 사용하는 많은 사람들이 ‘왜 직업력 자료에는 개인의 성별, 연령, 학력 등과 같은 인구학적 특성 정보가 자료에 붙어있지 않은지에 대한 불편함을 호소하는 경우가 있다.

직업력 자료는 기본적으로 일자리 단위로 케이스가 만들어진 데이터 셋이다. 즉 한 개인이 1차 조사부터 지금까지 총 20개의 일자리를 가졌었거나 가졌다면 20개의 ‘행’이 생성된다. 더구나, 그 개인이 15세이후부터 1차조사 시점 직전까지 5개의 일자리를 가졌었다면, 20개의 일자리에 5개를 더하여 총 25개의 일자리 ‘행’이 생성되는 것이다.

이상과 같이 직업력 자료의 크기가 이미 방대하기 때문에 직업력 자료에는 가급적 변수를 최소화하였다. 즉, 개인의 인적정보는 연구자가 개인(신규)자료에서 붙여 쓰는 것이 훨씬 더 효율적이라고 판단한 것이다. 직업력 자료에 개인의 인적정보를 붙이는 작업은 앞서 Q3에서 다룬 ‘기준변수를 이용한 데이터 merge’를 이용하여 간단하게 실행할 수 있다.


*===========================;
* SAS - Merge문의 사용 ;
*===========================;

data p19; set a.klips19p(keep= pid p190101 p190107);
rename p190101=sex p190107=age;
proc sort; by pid;

data w19; set a.klips19w;
if jobwave=19; /*19차에 응답한 가구 추출*/
proc sort; by pid;

data new.work;merge p19 w19; by pid; if jobwave=19;
run;
*===========================.
* SPSS .
*===========================.

GET FILE='D:\19차\users guide\19차년도\klips19p.sav'/KEEP pid p190101 p190107/RENAME(p190101=sex)(p190107=age).
DATASET NAME p19.
SORT CASES BY PID.

GET FILE='D:\19차\users guide\19차년도\klips19w.sav'.
select if(jobwave=19). /*19차에 조사된 사람만 남기기*/
SORT CASES BY PID.

MATCH FILES /FILE=*
/table=p19
/BY PID.

select if (jobwave=19).
fre sex.

SAVE OUTFILE='D:\19차\users guide\19차년도\k19wp.sav'.


/*======================================*/
/* stata - merge
/*======================================*/

/* 직업력과 개인자료를 머지할 때는 직업력에는 같은 사람이 여러 번 나타날 수 있고
개인자료에는 같은 사람이 단 한번만 나타난다는 점을 감안해야 한다.
이를 위한 머지는 메뉴바에서 다음과 같이 하면 된다
FAQ 4번에서 one-to-one on key variables 대신
many-to-one on key variables를 선택하고 나머지는 모두 똑같이 하면 된다. */

clear
use klips19p, clear
keep pid p190101 p190107
rename p190101 sex
rename p190107 age
sort pid
save k19p, replace
use klips19w, clear
keep if jobwave==19 /* 19차에 조사된 일자리에만 성별 연령 머지하기 */
sort pid
merge pid using k19p, uniqusing
keep if jobwave==19
table _merge //merge 결과의 확인


*===========================#
* R - Merge문의 사용 #
*===========================#

install.packages("foreign") #패키지 설치는 1회만 해주면 된다.
library(foreign)
klips19p ← read.spss(file = "C:\\Users\\KLI\\DATA\\1-19spss\\klips19p.sav", use.value.labels = FALSE, to.data.frame = TRUE )
klips19w ← read.spss(file = "C:\\Users\\KLI\\DATA\\1-19spss\\klips19w.sav", use.value.labels = FALSE, to.data.frame = TRUE )

#개인 자료 중 기준변수(pid)와 성별, 연령을 추출한다.
p19 ← klips19p[,c("pid", "p190101","p190107")]

#성별과 연령 변수명을 바꿔준다.
names(p19) ← c("pid", "sex", "age")

#직업력 데이터 중 19차에 응답한 가구를 추출한다.
w19 ← klips19w[klips19w$jobwave == 19 ,]

#pid 를 기준으로 성별,연령 변수를 직업력 데이터에 병합한다.
new.work ← merge(p19, w19, by = "pid")

table(new.work$sex)

<한국노동패널 1~19차년도 조사자료 User's Guide 125p Q7 참고>

스크랩