*** GEODE project workshop 16th January 2007 ** Exercise 2: illustration of linking European Social Survey data ** to CAMSIS scale scores using conventional methods. ** SPSS version. ************************************************. ** File path declarations for your computer * (different declarations might call the same path): . ** Location of the original micro-data file:. define !path1 () 'c:\geode\workshop\' !enddefine. ** Location of the CAMSIS data files:. define !path2 () 'c:\geode\workshops\' !enddefine. ** Location of the ISEI translation file:. define !path3 () 'c:\geode\workshop\' !enddefine. ** Location of a directory for storing temporary files. define !path9 () 'c:\temp\' !enddefine. ************************************************. ****************************************. ** . ** Starting with the original ESS data file . get file=!path1+"ess_2001extract.sav". fre var=cntry . * (we limit attention to a subset of cases from nine different countries). ** Occupation data : . fre var=gndr emplrel jbspv njbspv iscoco . sort cases by cntry. split files by cntry. descriptives var= emplrel jbspv njbspv iscoco . split files off. *****************************************. ** Match in occupational information :. ***************************************. ** 1) ISEI:. define @isko () iscoco. !enddefine. define @isei () isei. !enddefine. include file=!path3+"iskoisei.sps". descriptives var=iscoco isei. missing values isei (-999). descriptives var=iscoco isei. graph /bar=mean(isei) by cntry by gndr . * Note - ISEI match is fairly straigtforward because it only needs * one index variable (iscoco) and is the same across countries. *****************************************. *** 2) CAMSIS :. * Note - CAMSIS match is more difficult because it needs needs two * index variables (iscoco and employment status), and because it works * in different ways for the nine different countries . fre var=cntry. ** * i) preliminary - specify an employment status variable valid across countries. * (the variable has already been calculated in the extract file). *fre var=emplrel. *compute stdempst=emplrel. *recode stdempst (1=6) (1=2) (2=5) (else=0). *add value labels stdempst 0 "Unknown" 2 "Self-employed" 5 "Family worker" 6 "Employee" . **. fre var=iscoco stdempst. compute idno=$casenum . sort cases by cntry idno . sav out=!path9+"temp.sav". ***************************. ** Locate occuaptional information one cntry at a time, adjusting any values * to coincide with ESS data, and merging with the ESS sample for that cntry. ** Britain :. get file=!path2+"gb91isco88.sav". fre var=stdempst . * no 5 is covered so recode 5 to make 0. sort cases by isco88 stdempst. sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcamsis fcamsis /rename(isco88=iscoco). get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="GB"). recode stdempst (5=0). * (family workers). sort cases by iscoco stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess1.sav". ** Czech Republic . get file=!path2+"cz94isco88.sav". sort cases by isco88 stdempst. fre var=stdempst. * no 2 or 5 so merge them to 1. sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcamsis fcamsis /rename(isco88=iscoco) . get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="CZ"). recode stdempst (2,5=1). sort cases by iscoco stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess2.sav". ** Hungary . get file=!path2+"hu96isco88.sav". sort cases by isco88 stdempst. fre var=stdempst. * No 5, so recode it to 0. sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcam fcam /rename(isco88=iscoco) (mcam fcam = mcamsis fcamsis). get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="HU"). recode stdempst (5=0). sort cases by iscoco stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess3.sav". ** Ireland . get file=!path2+"ie96isco88.sav". sort cases by isco88 stdempst. fre var=stdempst. * only zero so code all to zero. * (remove duplicate cases ). compute first=1. if ( (lag(isco88)=isco88) & (lag(stdempst)=stdempst) ) first=0. fre var=first. select if (first=1). sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcamsis fcamsis /rename(isco88=iscoco) . get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="IE"). recode stdempst (2,5,6=0). sort cases by iscoco stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess4.sav". ** Poland :. get file=!path2+"plcherisco88.sav". sort cases by isco88 . compute stdempst=0. * (no info so must code all to 0). sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcamsis fcamsis /rename(isco88=iscoco2) . get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="PL"). sort cases by iscoco stdempst. compute iscoco2=trunc(iscoco/100). recode stdempst (2,5,6=0). sort cases by iscoco2 stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco2 stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess5.sav" /drop=iscoco2. ** Portugal :. get file=!path2+"ptcherisco88.sav". sort cases by isco88 . compute stdempst=0. * (no info so must code all to 0). sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcamsis fcamsis /rename(isco88=iscoco2) . get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="PT"). sort cases by iscoco stdempst. compute iscoco2=trunc(iscoco/100). recode stdempst (2,5,6=0). sort cases by iscoco2 stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco2 stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess6.sav" /drop=iscoco2. ** Slovenia :. get file=!path2+"sv94isco88.sav". sort cases by isco88 . fre var=stdempst. * (Just a 1 and 6 so recode 2 and 5 to 1). sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcamsis fcamsis /rename(isco88=iscoco) . get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="SI"). recode stdempst (2,5=1). sort cases by iscoco stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess7.sav" . ** Sweden :. get file=!path2+"se90isco88.sav". sort cases by isco . fre var=stdempst. * just 2 and 6 so recode the 5 to 0. sav out=!path9+"mtch1.sav" /keep=isco stdempst mcamsis fcamsis /rename(isco=iscoco) . get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="SE"). recode stdempst (5=0). sort cases by iscoco stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess8.sav" . ** Switzerland :. get file=!path2+"ch90isco88.sav". sort cases by isco88 . fre var=stdempst. * 2, 5 and 6 all present so no adjustment needed. sav out=!path9+"mtch1.sav" /keep=isco88 stdempst mcamsis fcamsis /rename(isco88=iscoco) . get file=!path9+"temp.sav" /keep=cntry idno iscoco stdempst. select if (cntry="CH"). sort cases by iscoco stdempst. match files file=* /table=!path9+"mtch1.sav" /by=iscoco stdempst. descriptives var=iscoco mcamsis fcamsis. sort cases by cntry idno. sav out=!path9+"ess9.sav" . ***** Combine all CAMSIS data from the 9 countries :. add files file=!path9+"ess1.sav" /file=!path9+"ess2.sav" /file=!path9+"ess3.sav" /file=!path9+"ess4.sav" /file=!path9+"ess5.sav" /file=!path9+"ess6.sav" /file=!path9+"ess7.sav" /file=!path9+"ess8.sav" /file=!path9+"ess9.sav" /by=cntry idno. descriptives var=all. sort cases by cntry idno. ** Link it to the original data file:. match files file=!path9+"temp.sav" /file=* /by=cntry idno. compute cs=-999. if (gndr=1 & mcamsis gt 0) cs=mcamsis. if (gndr=2 & fcamsis gt 0) cs=fcamsis. missing values cs (-999). variable label cs "CAMSIS scale, men and women". descriptives var=iscoco mcamsis fcamsis cs. ****************************************. ** End of matching . descriptives var= isei cs mcamsis fcamsis . missing values isei cs mcamsis fcamsis (-999). descriptives var=isei cs mcamsis fcamsis. ** Overall assocations : . fre var=hincfel. correlatve var=isei cs mcamsis fcamsis hincfel . ** cntry specific. sort cases by cntry. split files by cntry. correlatve var=isei cs mcamsis fcamsis hincfel . split files off. *****************************************************************. ******************************************************************. ** EOF.