/* CONSTRUCTION OF CLASS VARIABLE FOR RESPONDENT'S CURRENT WORK POSITION /* DATA: SELECTS 2011 /* 17-Class schema constructed *1 Socio-cultural professionals *2 Socio-cultural semi-professionals *3 Skilled service workers *4 Routine serivce workers *5 Technical experts *6 Technicians *7 Skilled production workers *8 Routine production workers *10 Managers and administrators *11 Associate managers and administrators *12 Skilled clerks *13 Routine clerks *14 Liberal professions *15 Large employers *16 Small business owners with employees *17 Small business owners without employees /* 1. Recode variables used to construct class variable /* 1.1 Recode job variable (isco88 4-digit) for respondents fre f216_88. Recode f216_88 (-999=sysmis) (else=copy) into iscocu_r . Var lab iscocu_r "Current work position of respondent - isco88 4-digit" . fre iscocu_r. /* 1.2 Recode work position for respondents fre f21500. Recode f21500 (8,9=sysmis) (else=copy) into workcu_r . Var lab workcu_r "Current work position of respondent" . Val lab workcu_r 1 "Employee with executive function" 2 "Employee with supervision/training function" 3 "Employee with operative function " 4 "Self-employed". Freq workcu_r . /* 1.3 Recode education for respondents fre f21310 . Recode f21310 (1 thru 4=1) (5 thru 9=2) (10 thru 13=3) (98,99=sysmis) into educat_r . Var lab educat_r "Highest level of education of respondent" . Val lab educat_r 1 "Lower than upper secondary education" 2 "Upper secondary education" 3 "Tertiary education" . fre educat_r . /* 1.4 Variable number of employees, if respondent self-employed (Combien de personnes votre entreprise emploie-t-elle au total, en incluant vous-même?) fre f21550. cro f21550 by f21500. Compute nuempcu_r = f21550. Var lab nuempcu_r "Current number of employees of respondent" . Fre nuempcu_r. ************************************* /* 2. Construct class variables /* 2.1 Construct class variable based on respondents current job Compute clascu_r = -777. /* 2.2 Allocate self-employed to schema /* Liberal professions (14) If workcu_r=4 and range (iscocu_r, 2000, 2470) and nuempcu_r<11 clascu_r=14 . /* Large employers (15) If workcu_r=4 and nuempcu_r>=11 clascu_r=15. /* Small business owners with employees (16) If workcu_r=4 and range (iscocu_r, 1000, 1320) and range (nuempcu_r, 2 ,10) clascu_r=16. If workcu_r=4 and range (iscocu_r, 3000, 9400) and range (nuempcu_r, 2 ,10) clascu_r=16. /* Small business owners without employees (17) If workcu_r=4 and range (iscocu_r, 1000, 1320) and nuempcu_r=1 clascu_r=17. If workcu_r=4 and range (iscocu_r, 3000, 9400) and nuempcu_r=1 clascu_r=17. /* 2.3 Allocate employed managers and professionals (ISCO 1000 - 2470) to the schema If workcu_r NE 4 and range(iscocu_r, 1000, 1239) clascu_r=10 . If workcu_r NE 4 and range(iscocu_r, 1300, 1320) clascu_r=11 . If workcu_r NE 4 and range(iscocu_r, 2100, 2213) clascu_r=5 . If workcu_r NE 4 and range(iscocu_r, 2220, 2320) clascu_r=1 . If workcu_r NE 4 and range(iscocu_r, 2330, 2340) clascu_r=2 . If workcu_r NE 4 and range(iscocu_r, 2350, 2359) clascu_r=1 . If workcu_r NE 4 and range(iscocu_r, 2410, 2429) clascu_r=10 . If workcu_r NE 4 and range(iscocu_r, 2430, 2432) clascu_r=2 . If workcu_r NE 4 and iscocu_r=2440 clascu_r=1 . If workcu_r NE 4 and iscocu_r=2441 clascu_r=10 . If workcu_r NE 4 and any(iscocu_r, 2442, 2443) clascu_r=1 . If workcu_r NE 4 and iscocu_r=2444 clascu_r=2 . If workcu_r NE 4 and iscocu_r=2445 clascu_r=1 . If workcu_r NE 4 and range(iscocu_r, 2446, 2450) clascu_r=2 . If workcu_r NE 4 and iscocu_r=2451 clascu_r=1 . If workcu_r NE 4 and range(iscocu_r, 2452, 2455) clascu_r=2 . If workcu_r NE 4 and iscocu_r=2460 clascu_r=1 . If workcu_r NE 4 and iscocu_r=2470 clascu_r=10 . /* 2.4 Allocate employed associate managers and associate professionals (ISCO 3000) to the schema If workcu_r NE 4 and range(iscocu_r, 3100, 3152) clascu_r=6 . If workcu_r NE 4 and range(iscocu_r, 3210, 3213) clascu_r=6 . If workcu_r NE 4 and range(iscocu_r, 3220, 3224) clascu_r=2 . If workcu_r NE 4 and iscocu_r=3225 clascu_r=3 . If workcu_r NE 4 and iscocu_r=3226 clascu_r=2 . If workcu_r NE 4 and any(iscocu_r, 3227, 3228) clascu_r=3 . If workcu_r NE 4 and range(iscocu_r, 3229, 3340) clascu_r=2 . If workcu_r NE 4 and iscocu_r=3400 clascu_r=11 . If workcu_r NE 4 and range(iscocu_r, 3410, 3433) clascu_r=11 . If workcu_r NE 4 and iscocu_r=3434 clascu_r=6 . If workcu_r NE 4 and range(iscocu_r, 3440, 3450) clascu_r=11 . If workcu_r NE 4 and range(iscocu_r, 3460, 3472) clascu_r=2 . If workcu_r NE 4 and range(iscocu_r, 3473, 3475) clascu_r=3 . If workcu_r NE 4 and iscocu_r=3480 clascu_r=2 . /* Locomotive engine drivers - to technicians If workcu_r NE 4 and iscocu_r=8311 clascu_r=6 . /*Police officers - to associate managers and administrators If workcu_r NE 4 and iscocu_r=5162 clascu_r=11 . /* 2.5 Allocate clerks and workers (ISCO 4000 - 8340 ) to the schema /* correct for skilled (upper secondary education or higher) and unskilled (less than upper secondary education) /* Skilled and routine clerks If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 4000, 4223) clascu_r=12 . If workcu_r NE 4 and educat_r = 1 and range(iscocu_r, 4000, 4223) clascu_r=13 . If workcu_r NE 4 and educat_r NE 1 and any(iscocu_r, 5160, 5169) clascu_r=12 . If workcu_r NE 4 and educat_r=1 and any(iscocu_r, 5160, 5169) clascu_r=13 . If workcu_r NE 4 and any(iscocu_r, 5161, 5163) clascu_r=12 . /*Soldiers - to skilled clerks If workcu_r NE 4 and iscocu_r=100 clascu_r=12 . /* Skilled and routine service workers If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 5100, 5149) clascu_r=3 . If workcu_r NE 4 and educat_r=1 and range(iscocu_r, 5100, 5149) clascu_r=4 . If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 5200, 5220) clascu_r=3 . If workcu_r NE 4 and educat_r=1 and range(iscocu_r, 5200, 5220) clascu_r=4 . /* Bus and tram drivers - to skilled and routine service workers If workcu_r NE 4 and iscocu_r=8323 clascu_r=3 . /* Skilled and routine production workers If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 6000, 6154) clascu_r=7 . If workcu_r NE 4 and educat_r=1 and range(iscocu_r, 6000, 6154) clascu_r=8 . If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 7000, 7442) clascu_r=7 . If workcu_r NE 4 and educat_r=1 and range(iscocu_r, 7000, 7442) clascu_r=8 . If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 8000, 8300) clascu_r=7 . If workcu_r NE 4 and educat_r=1 and range(iscocu_r, 8000, 8300) clascu_r=8 . If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 8312, 8322) clascu_r=7 . If workcu_r NE 4 and educat_r=1 and range(iscocu_r, 8312, 8322) clascu_r=8 . If workcu_r NE 4 and educat_r NE 1 and range(iscocu_r, 8324, 8340) clascu_r=7 . If workcu_r NE 4 and educat_r=1 and range(iscocu_r, 8324, 8340) clascu_r=8 . /* 2.6 Allocate elementary occupations (ISCO 9000 - 9330 ) to the schema /* Routine service workers If workcu_r NE 4 and range(iscocu_r, 9100, 9152) clascu_r=4 . /* Routine production workers If workcu_r NE 4 and range(iscocu_r, 9153, 9330) clascu_r=8 . Var lab clascu_r "Respondent's class position based on his current job" . Val lab clascu_r 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing values clascu_r (-777). Freq clascu_r . ************************************************************** ************************************************************** /* CONSTRUCTION OF CLASS VARIABLE FOR RESPONDENT'S LAST WORK POSITION /* DATA: SELECTS 2011 /* 17-Class schema constructed *1 Socio-cultural professionals *2 Socio-cultural semi-professionals *3 Skilled service workers *4 Routine serivce workers *5 Technical experts *6 Technicians *7 Skilled production workers *8 Routine production workers *10 Managers and administrators *11 Associate managers and administrators *12 Skilled clerks *13 Routine clerks *14 Liberal professions *15 Large employers *16 Small business owners with employees *17 Small business owners without employees /* 1. Recode variables used to construct class variable /* 1.1 Combine information on respondent's last job from three variables (all ISCO88 4-digit, r's last job) Freq f250_88 f263_88 f277_88 . Compute iscola_r = f250_88. Var lab iscola_r "Last work position of respondent - isco88 4-digit" . Do If missing (iscola_r) . compute iscola_r=f263_88. End if. Do If missing (iscola_r) . compute iscola_r=f277_88. End if. Recode iscola_r (-999=sysmis) (else=copy) into iscola_r . Freq iscola_r . /* 1.2 Recode work position for respondents Freq f24900 f26200 f27600 . Compute workla_r = f24900. Var lab workla_r "Last work position of respondent" . Do If missing (workla_r) . compute workla_r=f26200. End if. Do If missing (workla_r) . compute workla_r=f27600. End if. Recode workla_r (8,9=sysmis) (else=copy) into workla_r . Val lab workla_r 1 "Employee with executive function" 2 "Employee with supervision/training function" 3 "Employee with operative function " 4 "Self-employed". Freq workla_r . /* 1.3 Education for respondents has already been recoded (in file: Class_Respondent_CurrentJob_Selects11) Freq educat_r . /* 1.4 Recode number of employees, if respondent self-employed (Combien de personnes votre entreprise emploie-t-elle au total, en incluant vous-même?) fre f24950 f26250 f27650. cro f24950 by f24900. cro f26250 by f26200. cro f27650 by f27600. Compute nuempla_r = f24950. Var lab nuempla_r "Last number of employees of respondent" . Do If missing (nuempla_r) . compute nuempla_r=f26250. End if. Do If missing (nuempla_r) . compute nuempla_r=f27650. End if. Fre nuempla_r. ************************************* /* 2. Construct class variables /* 2.1 Construct class variable based on RESPONDENT'S LAST job Compute clasla_r= -777. /* 2.2 Allocate self-employed to schema /* Liberal professions (14) If workla_r=4 and range (iscola_r, 2000, 2470) and nuempla_r<11 clasla_r=14 . /* Large employers (15) If workla_r=4 and nuempla_r>=11 clasla_r=15. /* Small business owners with employees (16) If workla_r=4 and range (iscola_r, 1000, 1320) and range (nuempla_r, 2 ,10) clasla_r=16. If workla_r=4 and range (iscola_r, 3000, 9400) and range (nuempla_r, 2 ,10) clasla_r=16. /* Small business owners without employees (17) If workla_r=4 and range (iscola_r, 1000, 1320) and nuempla_r=1 clasla_r=17. If workla_r=4 and range (iscola_r, 3000, 9400) and nuempla_r=1 clasla_r=17. /* 2.3 Allocate employed managers and professionals (ISCO 1000 - 2470) to the schema If workla_r NE 4 and range(iscola_r, 1000, 1239) clasla_r=10 . If workla_r NE 4 and range(iscola_r, 1300, 1320) clasla_r=11 . If workla_r NE 4 and range(iscola_r, 2100, 2213) clasla_r=5 . If workla_r NE 4 and range(iscola_r, 2220, 2320) clasla_r=1 . If workla_r NE 4 and range(iscola_r, 2330, 2340) clasla_r=2 . If workla_r NE 4 and range(iscola_r, 2350, 2359) clasla_r=1 . If workla_r NE 4 and range(iscola_r, 2410, 2429) clasla_r=10 . If workla_r NE 4 and range(iscola_r, 2430, 2432) clasla_r=2 . If workla_r NE 4 and iscola_r=2440 clasla_r=1 . If workla_r NE 4 and iscola_r=2441 clasla_r=10 . If workla_r NE 4 and any(iscola_r, 2442, 2443) clasla_r=1 . If workla_r NE 4 and iscola_r=2444 clasla_r=2 . If workla_r NE 4 and iscola_r=2445 clasla_r=1 . If workla_r NE 4 and range(iscola_r, 2446, 2450) clasla_r=2 . If workla_r NE 4 and iscola_r=2451 clasla_r=1 . If workla_r NE 4 and range(iscola_r, 2452, 2455) clasla_r=2 . If workla_r NE 4 and iscola_r=2460 clasla_r=1 . If workla_r NE 4 and iscola_r=2470 clasla_r=10 . /* 2.4 Allocate employed technicians, associate managers and associate professionals (ISCO 3000) to the schema If workla_r NE 4 and range(iscola_r, 3100, 3152) clasla_r=6 . If workla_r NE 4 and range(iscola_r, 3210, 3213) clasla_r=6 . If workla_r NE 4 and range(iscola_r, 3220, 3224) clasla_r=2 . If workla_r NE 4 and iscola_r=3225 clasla_r=3 . If workla_r NE 4 and iscola_r=3226 clasla_r=2 . If workla_r NE 4 and any(iscola_r, 3227, 3228) clasla_r=3 . If workla_r NE 4 and range(iscola_r, 3229, 3340) clasla_r=2 . If workla_r NE 4 and iscola_r=3400 clasla_r=11 . If workla_r NE 4 and range(iscola_r, 3410, 3433) clasla_r=11 . If workla_r NE 4 and iscola_r=3434 clasla_r=6 . If workla_r NE 4 and range(iscola_r, 3440, 3450) clasla_r=11 . If workla_r NE 4 and range(iscola_r, 3460, 3472) clasla_r=2 . If workla_r NE 4 and range(iscola_r, 3473, 3475) clasla_r=3 . If workla_r NE 4 and iscola_r=3480 clasla_r=2 . /* Locomotive engine drivers - to technicians If workla_r NE 4 and iscola_r=8311 clasla_r=6 . /*Police officers - to associate managers and administrators If workla_r NE 4 and iscola_r=5162 clasla_r=11 . /* 2.5 Allocate clerks and workers (ISCO 4000 - 8340 ) to the schema /* correct for skilled (upper secondary education or higher) and unskilled (less than upper secondary education) /* Skilled and routine clerks If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 4000, 4223) clasla_r=12 . If workla_r NE 4 and educat_r = 1 and range(iscola_r, 4000, 4223) clasla_r=13 . If workla_r NE 4 and educat_r NE 1 and any(iscola_r, 5160, 5169) clasla_r=12 . If workla_r NE 4 and educat_r=1 and any(iscola_r, 5160, 5169) clasla_r=13 . If workla_r NE 4 and any(iscola_r, 5161, 5163) clasla_r=12 . /*Soldiers - to skilled clerks If workla_r NE 4 and iscola_r=110 clasla_r=12 . /* Skilled and routine service workers If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 5100, 5149) clasla_r=3 . If workla_r NE 4 and educat_r=1 and range(iscola_r, 5100, 5149) clasla_r=4 . If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 5200, 5220) clasla_r=3 . If workla_r NE 4 and educat_r=1 and range(iscola_r, 5200, 5220) clasla_r=4 . /* Bus and tram drivers - to skilled and routine service workers If workla_r NE 4 and iscola_r=8323 clasla_r=3 . /* Skilled and routine production workers If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 6000, 6154) clasla_r=7 . If workla_r NE 4 and educat_r=1 and range(iscola_r, 6000, 6154) clasla_r=8 . If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 7000, 7442) clasla_r=7 . If workla_r NE 4 and educat_r=1 and range(iscola_r, 7000, 7442) clasla_r=8 . If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 8000, 8300) clasla_r=7 . If workla_r NE 4 and educat_r=1 and range(iscola_r, 8000, 8300) clasla_r=8 . If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 8312, 8322) clasla_r=7 . If workla_r NE 4 and educat_r=1 and range(iscola_r, 8312, 8322) clasla_r=8 . If workla_r NE 4 and educat_r NE 1 and range(iscola_r, 8324, 8340) clasla_r=7 . If workla_r NE 4 and educat_r=1 and range(iscola_r, 8324, 8340) clasla_r=8 . /* 2.6 Allocate elementary occupations (ISCO 9000 - 9330 ) to the schema /* Routine service workers If workla_r NE 4 and range(iscola_r, 9100, 9152) clasla_r=4 . /* Routine production workers If workla_r NE 4 and range(iscola_r, 9153, 9330) clasla_r=8 . Var lab clasla_r "Respondent's class position based on his last job". Val lab clasla_r 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing values clasla_r (-777). Freq clasla_r . Freq iscola_r . ************************************************************** ************************************************************** /* CONSTRUCTION OF CLASS VARIABLE FOR PARTNER'S CURRENT WORK POSITION /* DATA: SELECTS 2011 /* 17-Class schema constructed *1 Socio-cultural professionals *2 Socio-cultural semi-professionals *3 Skilled service workers *4 Routine serivce workers *5 Technical experts *6 Technicians *7 Skilled production workers *8 Routine production workers *10 Managers and administrators *11 Associate managers and administrators *12 Skilled clerks *13 Routine clerks *14 Liberal professions *15 Large employers *16 Small business owners with employees *17 Small business owners without employees /* 1. Recode variables used to construct class variable /* 1.1 Combine information on PARTNER's current job from four variables (all ISCO88 4-digit, r's last job) Freq f222_88 f255_88 f269_88 f283_88 . Compute iscocu_p = f222_88. Var lab iscocu_p "Current work position of partner - isco88 4-digit" . Do If missing (iscocu_p) . compute iscocu_p=f255_88. End if. Do If missing (iscocu_p) . compute iscocu_p=f269_88. End if. Do If missing (iscocu_p) . compute iscocu_p=f283_88. End if. Recode iscocu_p (-999=sysmis) (else=copy) into iscocu_p . Freq iscocu_p . /* 1.2 Recode current work position for partner Freq f22100 f25400 f26800 f28200 . Cro f22100 by f25400 . Compute workcu_p = f22100. Var lab workcu_p "Current work position of partner" . Do If missing (workcu_p) . compute workcu_p=f25400. End if. Do If missing (workcu_p) . compute workcu_p=f26800. End if. Do If missing (workcu_p) . compute workcu_p=f28200. End if. Recode workcu_p (8,9=sysmis) (else=copy) into workcu_p . Val lab workcu_p 1 "Employee with executive function" 2 "Employee with supervision/training function" 3 "Employee with operative function " 4 "Self-employed". Freq workcu_p . /* 1.3 Education for partners Freq f21910 f25210 f26610 f28010 . Compute educall_p = f21910. Var lab educall_p "Unified variable: highest level of education of partner" . Do If missing (educall_p) . compute educall_p=f25210. End if. Do If missing (educall_p) . compute educall_p=f26610. End if. Do If missing (educall_p) . compute educall_p=f28010. End if. Freq educall_p . Recode educall_p (1 thru 4=1) (5 thru 9=2) (10 thru 13=3) (98,99=sysmis) into educat_p . Var lab educat_p "Highest level of education of partner, recoded" . Val lab educat_p 1 "Lower than upper secondary education" 2 "Upper secondary education" 3 "Tertiary education" . Freq educat_p . /* 1.4 Recode number of employees, if respondent self-employed (Combien de personnes votre entreprise emploie-t-elle au total, en incluant vous-même?) fre f22150 f25450 f26850 f28250. cro f22150 by f22100. cro f25450 by f25400. cro f26850 by f26800. cro f28250 by f28200. Compute nuempcu_p = f22150. Var lab nuempcu_p "Current number of employees of partner" . Do If missing (nuempcu_p) . compute nuempcu_p=f25450. End if. Do If missing (nuempcu_p) . compute nuempcu_p=f26850. End if. Do If missing (nuempcu_p) . compute nuempcu_p= f28250. End if. Fre nuempcu_p. ************************************* /* 2. Construct class variables /* 2.1 Construct class variable based of partner's current job Compute clascu_p= -777. /* 2.2 Allocate self-employed to schema /* Liberal professions (14) If workcu_p=4 and range (iscocu_p, 2000, 2470) and nuempcu_p<11 clascu_p=14 . /* Large employers (15) If workcu_p=4 and nuempcu_p>=11 clascu_p=15. /* Small business owners with employees (16) If workcu_p=4 and range (iscocu_p, 1000, 1320) and range (nuempcu_p, 2 ,10) clascu_p=16. If workcu_p=4 and range (iscocu_p, 3000, 9400) and range (nuempcu_p, 2 ,10) clascu_p=16. /* Small business owners without employees (17) If workcu_p=4 and range (iscocu_p, 1000, 1320) and nuempcu_p=1 clascu_p=17. If workcu_p=4 and range (iscocu_p, 3000, 9400) and nuempcu_p=1 clascu_p=17. /* 2.3 Allocate employed managers and professionals (ISCO 1000 - 2470) to the schema If workcu_p NE 4 and range(iscocu_p, 1000, 1239) clascu_p=10 . If workcu_p NE 4 and range(iscocu_p, 1300, 1320) clascu_p=11 . If workcu_p NE 4 and range(iscocu_p, 2100, 2213) clascu_p=5 . If workcu_p NE 4 and range(iscocu_p, 2220, 2320) clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2330, 2340) clascu_p=2 . If workcu_p NE 4 and range(iscocu_p, 2350, 2359) clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2410, 2429) clascu_p=10 . If workcu_p NE 4 and range(iscocu_p, 2430, 2432) clascu_p=2 . If workcu_p NE 4 and iscocu_p=2440 clascu_p=1 . If workcu_p NE 4 and iscocu_p=2441 clascu_p=10 . If workcu_p NE 4 and any(iscocu_p, 2442, 2443) clascu_p=1 . If workcu_p NE 4 and iscocu_p=2444 clascu_p=2 . If workcu_p NE 4 and iscocu_p=2445 clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2446, 2450) clascu_p=2 . If workcu_p NE 4 and iscocu_p=2451 clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2452, 2455) clascu_p=2 . If workcu_p NE 4 and iscocu_p=2460 clascu_p=1 . If workcu_p NE 4 and iscocu_p=2470 clascu_p=10 . /* 2.4 Allocate employed technicians, associate managers and associate professionals (ISCO 3000) to the schema If workcu_p NE 4 and range(iscocu_p, 3100, 3152) clascu_p=6 . If workcu_p NE 4 and range(iscocu_p, 3210, 3213) clascu_p=6 . If workcu_p NE 4 and range(iscocu_p, 3220, 3224) clascu_p=2 . If workcu_p NE 4 and iscocu_p=3225 clascu_p=3 . If workcu_p NE 4 and iscocu_p=3226 clascu_p=2 . If workcu_p NE 4 and any(iscocu_p, 3227, 3228) clascu_p=3 . If workcu_p NE 4 and range(iscocu_p, 3229, 3340) clascu_p=2 . If workcu_p NE 4 and iscocu_p=3400 clascu_p=11 . If workcu_p NE 4 and range(iscocu_p, 3410, 3433) clascu_p=11 . If workcu_p NE 4 and iscocu_p=3434 clascu_p=6 . If workcu_p NE 4 and range(iscocu_p, 3440, 3450) clascu_p=11 . If workcu_p NE 4 and range(iscocu_p, 3460, 3472) clascu_p=2 . If workcu_p NE 4 and range(iscocu_p, 3473, 3475) clascu_p=3 . If workcu_p NE 4 and iscocu_p=3480 clascu_p=2 . /* Locomotive engine drivers - to technicians If workcu_p NE 4 and iscocu_p=8311 clascu_p=6 . /*Police officers - to associate managers and administrators If workcu_p NE 4 and iscocu_p=5162 clascu_p=11 . /* 2.4 Allocate clerks and workers (ISCO 4000 - 8340 ) to the schema /* correct for skilled (upper secondary education or higher) and unskilled (less than upper secondary education) /* Skilled and routine clerks If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 4000, 4223) clascu_p=12 . If workcu_p NE 4 and educat_p = 1 and range(iscocu_p, 4000, 4223) clascu_p=13 . If workcu_p NE 4 and educat_p NE 1 and any(iscocu_p, 5160, 5169) clascu_p=12 . If workcu_p NE 4 and educat_p=1 and any(iscocu_p, 5160, 5169) clascu_p=13 . If workcu_p NE 4 and any(iscocu_p, 5161, 5163) clascu_p=12 . /*Soldiers - to skilled clerks If workcu_p NE 4 and iscocu_p=100 clascu_p=12 . /* Skilled and routine service workers If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 5100, 5149) clascu_p=3 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 5100, 5149) clascu_p=4 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 5200, 5220) clascu_p=3 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 5200, 5220) clascu_p=4 . /* Bus and tram drivers - to skilled and routine service workers If workcu_p NE 4 and iscocu_p=8323 clascu_p=3 . /* Skilled and routine production workers If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 6000, 6154) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 6000, 6154) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 7000, 7442) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 7000, 7442) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 8000, 8300) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 8000, 8300) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 8312, 8322) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 8312, 8322) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 8324, 8340) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 8324, 8340) clascu_p=8 . /* 2.4 Allocate elementary occupations (ISCO 9000 - 9330 ) to the schema /* Routine service workers If workcu_p NE 4 and range(iscocu_p, 9100, 9152) clascu_p=4 . /* Routine production workers If workcu_p NE 4 and range(iscocu_p, 9153, 9330) clascu_p=8 . Var lab clascu_p "Partner's class position based on his current job". Val lab clascu_p 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing values clascu_p (-777). Freq clascu_p . ************************************************************** ************************************************************** /* CONSTRUCTION OF CLASS VARIABLE FOR PARTNER'S CURRENT WORK POSITION /* DATA: SELECTS 2011 /* 17-Class schema constructed *1 Socio-cultural professionals *2 Socio-cultural semi-professionals *3 Skilled service workers *4 Routine serivce workers *5 Technical experts *6 Technicians *7 Skilled production workers *8 Routine production workers *10 Managers and administrators *11 Associate managers and administrators *12 Skilled clerks *13 Routine clerks *14 Liberal professions *15 Large employers *16 Small business owners with employees *17 Small business owners without employees /* 1. Recode variables used to construct class variable /* 1.1 Combine information on PARTNER's current job from four variables (all ISCO88 4-digit, r's last job) Freq f222_88 f255_88 f269_88 f283_88 . Compute iscocu_p = f222_88. Var lab iscocu_p "Current work position of partner - isco88 4-digit" . Do If missing (iscocu_p) . compute iscocu_p=f255_88. End if. Do If missing (iscocu_p) . compute iscocu_p=f269_88. End if. Do If missing (iscocu_p) . compute iscocu_p=f283_88. End if. Recode iscocu_p (-999=sysmis) (else=copy) into iscocu_p . Freq iscocu_p . /* 1.2 Recode current work position for partner Freq f22100 f25400 f26800 f28200 . Cro f22100 by f25400 . Compute workcu_p = f22100. Var lab workcu_p "Current work position of partner" . Do If missing (workcu_p) . compute workcu_p=f25400. End if. Do If missing (workcu_p) . compute workcu_p=f26800. End if. Do If missing (workcu_p) . compute workcu_p=f28200. End if. Recode workcu_p (8,9=sysmis) (else=copy) into workcu_p . Val lab workcu_p 1 "Employee with executive function" 2 "Employee with supervision/training function" 3 "Employee with operative function " 4 "Self-employed". Freq workcu_p . /* 1.3 Education for partners Freq f21910 f25210 f26610 f28010 . Compute educall_p = f21910. Var lab educall_p "Unified variable: highest level of education of partner" . Do If missing (educall_p) . compute educall_p=f25210. End if. Do If missing (educall_p) . compute educall_p=f26610. End if. Do If missing (educall_p) . compute educall_p=f28010. End if. Freq educall_p . Recode educall_p (1 thru 4=1) (5 thru 9=2) (10 thru 13=3) (98,99=sysmis) into educat_p . Var lab educat_p "Highest level of education of partner, recoded" . Val lab educat_p 1 "Lower than upper secondary education" 2 "Upper secondary education" 3 "Tertiary education" . Freq educat_p . /* 1.4 Recode number of employees, if respondent self-employed (Combien de personnes votre entreprise emploie-t-elle au total, en incluant vous-même?) fre f22150 f25450 f26850 f28250. cro f22150 by f22100. cro f25450 by f25400. cro f26850 by f26800. cro f28250 by f28200. Compute nuempcu_p = f22150. Var lab nuempcu_p "Current number of employees of partner" . Do If missing (nuempcu_p) . compute nuempcu_p=f25450. End if. Do If missing (nuempcu_p) . compute nuempcu_p=f26850. End if. Do If missing (nuempcu_p) . compute nuempcu_p= f28250. End if. Fre nuempcu_p. ************************************* /* 2. Construct class variables /* 2.1 Construct class variable based of partner's current job Compute clascu_p= -777. /* 2.2 Allocate self-employed to schema /* Liberal professions (14) If workcu_p=4 and range (iscocu_p, 2000, 2470) and nuempcu_p<11 clascu_p=14 . /* Large employers (15) If workcu_p=4 and nuempcu_p>=11 clascu_p=15. /* Small business owners with employees (16) If workcu_p=4 and range (iscocu_p, 1000, 1320) and range (nuempcu_p, 2 ,10) clascu_p=16. If workcu_p=4 and range (iscocu_p, 3000, 9400) and range (nuempcu_p, 2 ,10) clascu_p=16. /* Small business owners without employees (17) If workcu_p=4 and range (iscocu_p, 1000, 1320) and nuempcu_p=1 clascu_p=17. If workcu_p=4 and range (iscocu_p, 3000, 9400) and nuempcu_p=1 clascu_p=17. /* 2.3 Allocate employed managers and professionals (ISCO 1000 - 2470) to the schema If workcu_p NE 4 and range(iscocu_p, 1000, 1239) clascu_p=10 . If workcu_p NE 4 and range(iscocu_p, 1300, 1320) clascu_p=11 . If workcu_p NE 4 and range(iscocu_p, 2100, 2213) clascu_p=5 . If workcu_p NE 4 and range(iscocu_p, 2220, 2320) clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2330, 2340) clascu_p=2 . If workcu_p NE 4 and range(iscocu_p, 2350, 2359) clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2410, 2429) clascu_p=10 . If workcu_p NE 4 and range(iscocu_p, 2430, 2432) clascu_p=2 . If workcu_p NE 4 and iscocu_p=2440 clascu_p=1 . If workcu_p NE 4 and iscocu_p=2441 clascu_p=10 . If workcu_p NE 4 and any(iscocu_p, 2442, 2443) clascu_p=1 . If workcu_p NE 4 and iscocu_p=2444 clascu_p=2 . If workcu_p NE 4 and iscocu_p=2445 clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2446, 2450) clascu_p=2 . If workcu_p NE 4 and iscocu_p=2451 clascu_p=1 . If workcu_p NE 4 and range(iscocu_p, 2452, 2455) clascu_p=2 . If workcu_p NE 4 and iscocu_p=2460 clascu_p=1 . If workcu_p NE 4 and iscocu_p=2470 clascu_p=10 . /* 2.4 Allocate employed technicians, associate managers and associate professionals (ISCO 3000) to the schema If workcu_p NE 4 and range(iscocu_p, 3100, 3152) clascu_p=6 . If workcu_p NE 4 and range(iscocu_p, 3210, 3213) clascu_p=6 . If workcu_p NE 4 and range(iscocu_p, 3220, 3224) clascu_p=2 . If workcu_p NE 4 and iscocu_p=3225 clascu_p=3 . If workcu_p NE 4 and iscocu_p=3226 clascu_p=2 . If workcu_p NE 4 and any(iscocu_p, 3227, 3228) clascu_p=3 . If workcu_p NE 4 and range(iscocu_p, 3229, 3340) clascu_p=2 . If workcu_p NE 4 and iscocu_p=3400 clascu_p=11 . If workcu_p NE 4 and range(iscocu_p, 3410, 3433) clascu_p=11 . If workcu_p NE 4 and iscocu_p=3434 clascu_p=6 . If workcu_p NE 4 and range(iscocu_p, 3440, 3450) clascu_p=11 . If workcu_p NE 4 and range(iscocu_p, 3460, 3472) clascu_p=2 . If workcu_p NE 4 and range(iscocu_p, 3473, 3475) clascu_p=3 . If workcu_p NE 4 and iscocu_p=3480 clascu_p=2 . /* Locomotive engine drivers - to technicians If workcu_p NE 4 and iscocu_p=8311 clascu_p=6 . /*Police officers - to associate managers and administrators If workcu_p NE 4 and iscocu_p=5162 clascu_p=11 . /* 2.4 Allocate clerks and workers (ISCO 4000 - 8340 ) to the schema /* correct for skilled (upper secondary education or higher) and unskilled (less than upper secondary education) /* Skilled and routine clerks If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 4000, 4223) clascu_p=12 . If workcu_p NE 4 and educat_p = 1 and range(iscocu_p, 4000, 4223) clascu_p=13 . If workcu_p NE 4 and educat_p NE 1 and any(iscocu_p, 5160, 5169) clascu_p=12 . If workcu_p NE 4 and educat_p=1 and any(iscocu_p, 5160, 5169) clascu_p=13 . If workcu_p NE 4 and any(iscocu_p, 5161, 5163) clascu_p=12 . /*Soldiers - to skilled clerks If workcu_p NE 4 and iscocu_p=100 clascu_p=12 . /* Skilled and routine service workers If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 5100, 5149) clascu_p=3 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 5100, 5149) clascu_p=4 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 5200, 5220) clascu_p=3 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 5200, 5220) clascu_p=4 . /* Bus and tram drivers - to skilled and routine service workers If workcu_p NE 4 and iscocu_p=8323 clascu_p=3 . /* Skilled and routine production workers If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 6000, 6154) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 6000, 6154) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 7000, 7442) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 7000, 7442) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 8000, 8300) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 8000, 8300) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 8312, 8322) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 8312, 8322) clascu_p=8 . If workcu_p NE 4 and educat_p NE 1 and range(iscocu_p, 8324, 8340) clascu_p=7 . If workcu_p NE 4 and educat_p=1 and range(iscocu_p, 8324, 8340) clascu_p=8 . /* 2.4 Allocate elementary occupations (ISCO 9000 - 9330 ) to the schema /* Routine service workers If workcu_p NE 4 and range(iscocu_p, 9100, 9152) clascu_p=4 . /* Routine production workers If workcu_p NE 4 and range(iscocu_p, 9153, 9330) clascu_p=8 . Var lab clascu_p "Partner's class position based on his current job". Val lab clascu_p 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing values clascu_p (-777). Freq clascu_p . ************************************************************** ************************************************************** /* CONSTRUCTION OF CLASS VARIABLE FOR PARTNER'S LAST WORK POSITION /* DATA: SELECTS 2011 /* 17-Class schema constructed *1 Socio-cultural professionals *2 Socio-cultural semi-professionals *3 Skilled service workers *4 Routine serivce workers *5 Technical experts *6 Technicians *7 Skilled production workers *8 Routine production workers *10 Managers and administrators *11 Associate managers and administrators *12 Skilled clerks *13 Routine clerks *14 Liberal professions *15 Large employers *16 Small business owners with employees *17 Small business owners without employees /* 1. Recode variables used to construct class variable /* 1.1 Combine information on partner's last job from four variables (all ISCO88 4-digit, r's last job) Freq f226_88 f259_88 f273_88 . Compute iscola_p = f226_88. Var lab iscola_p "Last work position of partner - isco88 4-digit" . Do If missing (iscola_p) . compute iscola_p=f259_88. End if. Do If missing (iscola_p) . compute iscola_p=f273_88. End if. Freq iscola_p . cro iscocu_p by iscola_p. /* 1.2 Recode last work position for partner Freq f22500 f25800 f27200 f28600 . Cro f22500 by f25800 . Compute workla_p = f22500. Var lab workla_p "Last work position of partner" . Do If missing (workla_p) . compute workla_p=f25800. End if. Do If missing (workla_p) . compute workla_p=f27200. End if. Do If missing (workla_p) . compute workla_p=f28600. End if. Recode workla_p (8,9=sysmis) (else=copy) into workla_p . Val lab workla_p 1 "Employee with executive function" 2 "Employee with supervision/training function" 3 "Employee with operative function " 4 "Self-employed". Freq workla_p . /* 1.3 Education of partners - already recoded in Class_Partner_CurrentJob_Selects07 Freq educat_p . /* 1.4 Recode number of employees, if respondent self-employed (Combien de personnes votre entreprise emploie-t-elle au total, en incluant vous-même?) fre f22550 f25850 f27250 f28650. cro f22550 by f22500. cro f25850 by f25800. cro f27250 by f27200. cro f28650 by f28600. Compute nuempla_p = f22550. Var lab nuempla_p "Last number of employees of partner" . Do If missing (nuempla_p) . compute nuempla_p=f25850. End if. Do If missing (nuempla_p) . compute nuempla_p=f27250. End if. Do If missing (nuempla_p) . compute nuempla_p= f28650. End if. Fre nuempla_p. ************************************* /* 2. Construct class variables /* 2.1 Construct class variable based of partner's last job Compute clasla_p= -777. /* 2.2 Allocate self-employed to schema /* Liberal professions (14) If workla_p=4 and range (iscola_p, 2000, 2470) and nuempla_p<11 clasla_p=14 . /* Large employers (15) If workla_p=4 and nuempla_p>=11 clasla_p=15. /* Small business owners with employees (16) If workla_p=4 and range (iscola_p, 1000, 1320) and range (nuempla_p, 2 ,10) clasla_p=16. If workla_p=4 and range (iscola_p, 3000, 9400) and range (nuempla_p, 2 ,10) clasla_p=16. /* Small business owners without employees (17) If workla_p=4 and range (iscola_p, 1000, 1320) and nuempla_p=1 clasla_p=17. If workla_p=4 and range (iscola_p, 3000, 9400) and nuempla_p=1 clasla_p=17. /* 2.3 Allocate employed managers and professionals (ISCO 1000 - 2470) to the schema If workla_p NE 4 and range(iscola_p, 1000, 1239) clasla_p=10 . If workla_p NE 4 and range(iscola_p, 1300, 1320) clasla_p=11 . If workla_p NE 4 and range(iscola_p, 2100, 2213) clasla_p=5 . If workla_p NE 4 and range(iscola_p, 2220, 2320) clasla_p=1 . If workla_p NE 4 and range(iscola_p, 2330, 2340) clasla_p=2 . If workla_p NE 4 and range(iscola_p, 2350, 2359) clasla_p=1 . If workla_p NE 4 and range(iscola_p, 2410, 2429) clasla_p=10 . If workla_p NE 4 and range(iscola_p, 2430, 2432) clasla_p=2 . If workla_p NE 4 and iscola_p=2440 clasla_p=1 . If workla_p NE 4 and iscola_p=2441 clasla_p=10 . If workla_p NE 4 and any(iscola_p, 2442, 2443) clasla_p=1 . If workla_p NE 4 and iscola_p=2444 clasla_p=2 . If workla_p NE 4 and iscola_p=2445 clasla_p=1 . If workla_p NE 4 and range(iscola_p, 2446, 2450) clasla_p=2 . If workla_p NE 4 and iscola_p=2451 clasla_p=1 . If workla_p NE 4 and range(iscola_p, 2452, 2455) clasla_p=2 . If workla_p NE 4 and iscola_p=2460 clasla_p=1 . If workla_p NE 4 and iscola_p=2470 clasla_p=10 . /* 2.4 Allocate employed technicians, associate managers and associate professionals (ISCO 3000) to the schema If workla_p NE 4 and range(iscola_p, 3100, 3152) clasla_p=6 . If workla_p NE 4 and range(iscola_p, 3210, 3213) clasla_p=6 . If workla_p NE 4 and range(iscola_p, 3220, 3224) clasla_p=2 . If workla_p NE 4 and iscola_p=3225 clasla_p=3 . If workla_p NE 4 and iscola_p=3226 clasla_p=2 . If workla_p NE 4 and any(iscola_p, 3227, 3228) clasla_p=3 . If workla_p NE 4 and range(iscola_p, 3229, 3340) clasla_p=2 . If workla_p NE 4 and iscola_p=3400 clasla_p=11 . If workla_p NE 4 and range(iscola_p, 3410, 3433) clasla_p=11 . If workla_p NE 4 and iscola_p=3434 clasla_p=6 . If workla_p NE 4 and range(iscola_p, 3440, 3450) clasla_p=11 . If workla_p NE 4 and range(iscola_p, 3460, 3472) clasla_p=2 . If workla_p NE 4 and range(iscola_p, 3473, 3475) clasla_p=3 . If workla_p NE 4 and iscola_p=3480 clasla_p=2 . /* Locomotive engine drivers - to technicians If workla_p NE 4 and iscola_p=8311 clasla_p=6 . /*Police officers - to associate managers and administrators If workla_p NE 4 and iscola_p=5162 clasla_p=11 . /* 2.5 Allocate clerks and workers (ISCO 4000 - 8340 ) to the schema /* correct for skilled (upper secondary education or higher) and unskilled (less than upper secondary education) /* Skilled and routine clerks If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 4000, 4223) clasla_p=12 . If workla_p NE 4 and educat_p = 1 and range(iscola_p, 4000, 4223) clasla_p=13 . If workla_p NE 4 and educat_p NE 1 and any(iscola_p, 5160, 5169) clasla_p=12 . If workla_p NE 4 and educat_p=1 and any(iscola_p, 5160, 5169) clasla_p=13 . If workla_p NE 4 and any(iscola_p, 5161, 5163) clasla_p=12 . /*Soldiers - to skilled clerks If workla_p NE 4 and iscola_p=110 clasla_p=12 . /* Skilled and routine service workers If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 5100, 5149) clasla_p=3 . If workla_p NE 4 and educat_p=1 and range(iscola_p, 5100, 5149) clasla_p=4 . If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 5200, 5220) clasla_p=3 . If workla_p NE 4 and educat_p=1 and range(iscola_p, 5200, 5220) clasla_p=4 . /* Bus and tram drivers - to skilled and routine service workers If workla_p NE 4 and iscola_p=8323 clasla_p=3 . /* Skilled and routine production workers If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 6000, 6154) clasla_p=7 . If workla_p NE 4 and educat_p=1 and range(iscola_p, 6000, 6154) clasla_p=8 . If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 7000, 7442) clasla_p=7 . If workla_p NE 4 and educat_p=1 and range(iscola_p, 7000, 7442) clasla_p=8 . If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 8000, 8300) clasla_p=7 . If workla_p NE 4 and educat_p=1 and range(iscola_p, 8000, 8300) clasla_p=8 . If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 8312, 8322) clasla_p=7 . If workla_p NE 4 and educat_p=1 and range(iscola_p, 8312, 8322) clasla_p=8 . If workla_p NE 4 and educat_p NE 1 and range(iscola_p, 8324, 8340) clasla_p=7 . If workla_p NE 4 and educat_p=1 and range(iscola_p, 8324, 8340) clasla_p=8 . /* 2.6 Allocate elementary occupations (ISCO 9000 - 9330 ) to the schema /* Routine service workers If workla_p NE 4 and range(iscola_p, 9100, 9152) clasla_p=4 . /* Routine production workers If workla_p NE 4 and range(iscola_p, 9153, 9330) clasla_p=8 . Var lab clasla_p "Partner's class position based on his last job". Val lab clasla_p 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing val clasla_p (-777) . Freq clasla_p . ************************************************************** ************************************************************** /* CONSTRUCTION OF CLASS VARIABLE FOR PARTNER'S LAST WORK POSITION /* DATA: SELECTS 2011 /* 17-Class schema constructed *1 Socio-cultural professionals *2 Socio-cultural semi-professionals *3 Skilled service workers *4 Routine serivce workers *5 Technical experts *6 Technicians *7 Skilled production workers *8 Routine production workers *10 Managers and administrators *11 Associate managers and administrators *12 Skilled clerks *13 Routine clerks *14 Liberal professions *15 Large employers *16 Small business owners with employees *17 Small business owners without employees /* 1. Recode variables used to construct class variable /* 1.1 Combine information on MAIN EARNER'S CURRENT job from two variables (all ISCO88 4-digit, r's last job) Freq f232_88. Compute iscocu_m = f232_88. Var lab iscocu_m "Current work position of main earner - isco88 4-digit" . Recode iscocu_m (-999=sysmis) (else=copy) into iscocu_m . Freq iscocu_m . /* 1.2 Recode current work position of main earner Freq f23100. Compute workcu_m = f23100. Var lab workcu_m "Current work position of main earner" . Recode workcu_m (8,9=sysmis) (else=copy) into workcu_m . Val lab workcu_m 1 "Employee with executive function" 2 "Employee with supervision/training function" 3 "Employee with operative function " 4 "Self-employed". Freq workcu_m . /* 1.3 Education of main earner Freq f22910. Recode f22910 (1 thru 4=1) (5 thru 9=2) (10 thru 13=3) (98,99=sysmis) into educat_m. Var lab educat_m "Highest level of education of main earner, recoded" . Val lab educat_m 1 "Lower than upper secondary education" 2 "Upper secondary education" 3 "Tertiary education" . Freq educat_m . /* 1.4 Recode number of employees, if respondent self-employed (Combien de personnes votre entreprise emploie-t-elle au total, en incluant vous-même?) fre f23150. cro f23150 by f23100. Compute nuempcu_m = f23150. Var lab nuempcu_m "Current number of employees of main earner" . Fre nuempcu_m. ************************************* /* 2. Construct class variables /* 2.1 Construct class variable based of main earner's current job Compute clascu_m= -777. /* 2.1 Allocate self-employed to schema /* Liberal professions (14) If workcu_m=4 and range (iscocu_m, 2000, 2470) and nuempcu_m<11 clascu_m=14 . /* Large employers (15) If workcu_m=4 and nuempcu_m>=11 clascu_m=15. /* Small business owners with employees (16) If workcu_m=4 and range (iscocu_m, 1000, 1320) and range (nuempcu_m, 2 ,10) clascu_m=16. If workcu_m=4 and range (iscocu_m, 3000, 9400) and range (nuempcu_m, 2 ,10) clascu_m=16. /* Small business owners without employees (17) If workcu_m=4 and range (iscocu_m, 1000, 1320) and nuempcu_m=1 clascu_m=17. If workcu_m=4 and range (iscocu_m, 3000, 9400) and nuempcu_m=1 clascu_m=17. /* 2.2 Allocate employed managers and professionals (ISCO 1000 - 2470) to the schema If workcu_m NE 4 and range(iscocu_m, 1000, 1239) clascu_m=10 . If workcu_m NE 4 and range(iscocu_m, 1300, 1320) clascu_m=11 . If workcu_m NE 4 and range(iscocu_m, 2100, 2213) clascu_m=5 . If workcu_m NE 4 and range(iscocu_m, 2220, 2320) clascu_m=1 . If workcu_m NE 4 and range(iscocu_m, 2330, 2340) clascu_m=2 . If workcu_m NE 4 and range(iscocu_m, 2350, 2359) clascu_m=1 . If workcu_m NE 4 and range(iscocu_m, 2410, 2429) clascu_m=10 . If workcu_m NE 4 and range(iscocu_m, 2430, 2432) clascu_m=2 . If workcu_m NE 4 and iscocu_m=2440 clascu_m=1 . If workcu_m NE 4 and iscocu_m=2441 clascu_m=10 . If workcu_m NE 4 and any(iscocu_m, 2442, 2443) clascu_m=1 . If workcu_m NE 4 and iscocu_m=2444 clascu_m=2 . If workcu_m NE 4 and iscocu_m=2445 clascu_m=1 . If workcu_m NE 4 and range(iscocu_m, 2446, 2450) clascu_m=2 . If workcu_m NE 4 and iscocu_m=2451 clascu_m=1 . If workcu_m NE 4 and range(iscocu_m, 2452, 2455) clascu_m=2 . If workcu_m NE 4 and iscocu_m=2460 clascu_m=1 . If workcu_m NE 4 and iscocu_m=2470 clascu_m=10 . /* 2.3 Allocate employed technicians, associate managers and associate professionals (ISCO 3000) to the schema If workcu_m NE 4 and range(iscocu_m, 3100, 3152) clascu_m=6 . If workcu_m NE 4 and range(iscocu_m, 3210, 3213) clascu_m=6 . If workcu_m NE 4 and range(iscocu_m, 3220, 3224) clascu_m=2 . If workcu_m NE 4 and iscocu_m=3225 clascu_m=3 . If workcu_m NE 4 and iscocu_m=3226 clascu_m=2 . If workcu_m NE 4 and any(iscocu_m, 3227, 3228) clascu_m=3 . If workcu_m NE 4 and range(iscocu_m, 3229, 3340) clascu_m=2 . If workcu_m NE 4 and iscocu_m=3400 clascu_m=11 . If workcu_m NE 4 and range(iscocu_m, 3410, 3433) clascu_m=11 . If workcu_m NE 4 and iscocu_m=3434 clascu_m=6 . If workcu_m NE 4 and range(iscocu_m, 3440, 3450) clascu_m=11 . If workcu_m NE 4 and range(iscocu_m, 3460, 3472) clascu_m=2 . If workcu_m NE 4 and range(iscocu_m, 3473, 3475) clascu_m=3 . If workcu_m NE 4 and iscocu_m=3480 clascu_m=2 . /* Locomotive engine drivers - to technicians If workcu_m NE 4 and iscocu_m=8311 clascu_m=6 . /*Police officers - to associate managers and administrators If workcu_m NE 4 and iscocu_m=5162 clascu_m=11 . /* 2.4 Allocate clerks and workers (ISCO 4000 - 8340 ) to the schema /* correct for skilled (upper secondary education or higher) and unskilled (less than upper secondary education) /* Skilled and routine clerks If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 4000, 4223) clascu_m=12 . If workcu_m NE 4 and educat_m = 1 and range(iscocu_m, 4000, 4223) clascu_m=13 . If workcu_m NE 4 and educat_m NE 1 and any(iscocu_m, 5160, 5169) clascu_m=12 . If workcu_m NE 4 and educat_m=1 and any(iscocu_m, 5160, 5169) clascu_m=13 . If workcu_m NE 4 and any(iscocu_m, 5161, 5163) clascu_m=12 . /*Soldiers - to skilled clerks If workcu_m NE 4 and iscocu_m=110 clascu_m=12 . /* Skilled and routine service workers If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 5100, 5149) clascu_m=3 . If workcu_m NE 4 and educat_m=1 and range(iscocu_m, 5100, 5149) clascu_m=4 . If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 5200, 5220) clascu_m=3 . If workcu_m NE 4 and educat_m=1 and range(iscocu_m, 5200, 5220) clascu_m=4 . /* Bus and tram drivers - to skilled and routine service workers If workcu_m NE 4 and iscocu_m=8323 clascu_m=3 . /* Skilled and routine production workers If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 6000, 6154) clascu_m=7 . If workcu_m NE 4 and educat_m=1 and range(iscocu_m, 6000, 6154) clascu_m=8 . If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 7000, 7442) clascu_m=7 . If workcu_m NE 4 and educat_m=1 and range(iscocu_m, 7000, 7442) clascu_m=8 . If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 8000, 8300) clascu_m=7 . If workcu_m NE 4 and educat_m=1 and range(iscocu_m, 8000, 8300) clascu_m=8 . If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 8312, 8322) clascu_m=7 . If workcu_m NE 4 and educat_m=1 and range(iscocu_m, 8312, 8322) clascu_m=8 . If workcu_m NE 4 and educat_m NE 1 and range(iscocu_m, 8324, 8340) clascu_m=7 . If workcu_m NE 4 and educat_m=1 and range(iscocu_m, 8324, 8340) clascu_m=8 . /* 2.4 Allocate elementary occupations (ISCO 9000 - 9330 ) to the schema /* Routine service workers If workcu_m NE 4 and range(iscocu_m, 9100, 9152) clascu_m=4 . /* Routine production workers If workcu_m NE 4 and range(iscocu_m, 9153, 9330) clascu_m=8 . Var lab clascu_m "Main earner's class position based on his current job". Val lab clascu_m 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing val clascu_m (-777) . Freq clascu_m . ************************************************************** ************************************************************** /* CONSTRUCTION OF CLASS VARIABLE FOR PARTNER'S LAST WORK POSITION /* DATA: SELECTS 2011 /* 17-Class schema constructed *1 Socio-cultural professionals *2 Socio-cultural semi-professionals *3 Skilled service workers *4 Routine serivce workers *5 Technical experts *6 Technicians *7 Skilled production workers *8 Routine production workers *10 Managers and administrators *11 Associate managers and administrators *12 Skilled clerks *13 Routine clerks *14 Liberal professions *15 Large employers *16 Small business owners with employees *17 Small business owners without employees /* 1. Recode variables used to construct class variable /* 1.1 Combine information on MAIN EARNER'S LAST job from two variables (all ISCO88 4-digit, r's last job) Freq f236_88. Compute iscola_m = f236_88. Var lab iscola_m "Last work position of main earner - isco88 4-digit" . Freq iscola_m . /* 1.2 Recode last work position of main earner Freq f23500. Compute workla_m = f23500. Var lab workla_m "Last work position of main earner" . Recode workla_m (8,9=sysmis) (else=copy) into workla_m . Val lab workla_m 1 "Employee with executive function" 2 "Employee with supervision/training function" 3 "Employee with operative function " 4 "Self-employed". Freq workla_m . /* 1.3 Education of main earner - already recoded in Class_MainEarner_LastJob_Selects07.sps Freq educat_m . /* 1.4 Recode number of employees, if respondent self-employed (Combien de personnes votre entreprise emploie-t-elle au total, en incluant vous-même?) fre f23550. cro f23550 by f23500. Compute nuempla_m = f23550. Var lab nuempla_m "Last number of employees of main earner" . Fre nuempla_m. ************************************* /* 2. Construct class variables /* 2.1 Construct class variable based of main earner's last job Compute clasla_m= -777. /* 2.1 Allocate self-employed to schema /* Liberal professions (14) If workla_m=4 and range (iscola_m, 2000, 2470) and nuempla_m<11 clasla_m=14 . /* Large employers (15) If workla_m=4 and nuempla_m>=11 clasla_m=15. /* Small business owners with employees (16) If workla_m=4 and range (iscola_m, 1000, 1320) and range (nuempla_m, 2 ,10) clasla_m=16. If workla_m=4 and range (iscola_m, 3000, 9400) and range (nuempla_m, 2 ,10) clasla_m=16. /* Small business owners without employees (17) If workla_m=4 and range (iscola_m, 1000, 1320) and nuempla_m=1 clasla_m=17. If workla_m=4 and range (iscola_m, 3000, 9400) and nuempla_m=1 clasla_m=17. /* 2.2 Allocate employed managers and professionals (ISCO 1000 - 2470) to the schema If workla_m NE 4 and range(iscola_m, 1000, 1239) clasla_m=10 . If workla_m NE 4 and range(iscola_m, 1300, 1320) clasla_m=11 . If workla_m NE 4 and range(iscola_m, 2100, 2213) clasla_m=5 . If workla_m NE 4 and range(iscola_m, 2220, 2320) clasla_m=1 . If workla_m NE 4 and range(iscola_m, 2330, 2340) clasla_m=2 . If workla_m NE 4 and range(iscola_m, 2350, 2359) clasla_m=1 . If workla_m NE 4 and range(iscola_m, 2410, 2429) clasla_m=10 . If workla_m NE 4 and range(iscola_m, 2430, 2432) clasla_m=2 . If workla_m NE 4 and iscola_m=2440 clasla_m=1 . If workla_m NE 4 and iscola_m=2441 clasla_m=10 . If workla_m NE 4 and any(iscola_m, 2442, 2443) clasla_m=1 . If workla_m NE 4 and iscola_m=2444 clasla_m=2 . If workla_m NE 4 and iscola_m=2445 clasla_m=1 . If workla_m NE 4 and range(iscola_m, 2446, 2450) clasla_m=2 . If workla_m NE 4 and iscola_m=2451 clasla_m=1 . If workla_m NE 4 and range(iscola_m, 2452, 2455) clasla_m=2 . If workla_m NE 4 and iscola_m=2460 clasla_m=1 . If workla_m NE 4 and iscola_m=2470 clasla_m=10 . /* 2.3 Allocate employed technicians, associate managers and associate professionals (ISCO 3000) to the schema If workla_m NE 4 and range(iscola_m, 3100, 3152) clasla_m=6 . If workla_m NE 4 and range(iscola_m, 3210, 3213) clasla_m=6 . If workla_m NE 4 and range(iscola_m, 3220, 3224) clasla_m=2 . If workla_m NE 4 and iscola_m=3225 clasla_m=3 . If workla_m NE 4 and iscola_m=3226 clasla_m=2 . If workla_m NE 4 and any(iscola_m, 3227, 3228) clasla_m=3 . If workla_m NE 4 and range(iscola_m, 3229, 3340) clasla_m=2 . If workla_m NE 4 and iscola_m=3400 clasla_m=11 . If workla_m NE 4 and range(iscola_m, 3410, 3433) clasla_m=11 . If workla_m NE 4 and iscola_m=3434 clasla_m=6 . If workla_m NE 4 and range(iscola_m, 3440, 3450) clasla_m=11 . If workla_m NE 4 and range(iscola_m, 3460, 3472) clasla_m=2 . If workla_m NE 4 and range(iscola_m, 3473, 3475) clasla_m=3 . If workla_m NE 4 and iscola_m=3480 clasla_m=2 . /* Locomotive engine drivers - to technicians If workla_m NE 4 and iscola_m=8311 clasla_m=6 . /*Police officers - to associate managers and administrators If workla_m NE 4 and iscola_m=5162 clasla_m=11 . /* 2.4 Allocate clerks and workers (ISCO 4000 - 8340 ) to the schema /* correct for skilled (upper secondary education or higher) and unskilled (less than upper secondary education) /* Skilled and routine clerks If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 4000, 4223) clasla_m=12 . If workla_m NE 4 and educat_m = 1 and range(iscola_m, 4000, 4223) clasla_m=13 . If workla_m NE 4 and educat_m NE 1 and any(iscola_m, 5160, 5169) clasla_m=12 . If workla_m NE 4 and educat_m=1 and any(iscola_m, 5160, 5169) clasla_m=13 . If workla_m NE 4 and any(iscola_m, 5161, 5163) clasla_m=12 . /*Soldiers - to skilled clerks If workla_m NE 4 and iscola_m=110 clasla_m=12 . /* Skilled and routine service workers If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 5100, 5149) clasla_m=3 . If workla_m NE 4 and educat_m=1 and range(iscola_m, 5100, 5149) clasla_m=4 . If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 5200, 5220) clasla_m=3 . If workla_m NE 4 and educat_m=1 and range(iscola_m, 5200, 5220) clasla_m=4 . /* Bus and tram drivers - to skilled and routine service workers If workla_m NE 4 and iscola_m=8323 clasla_m=3 . /* Skilled and routine production workers If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 6000, 6154) clasla_m=7 . If workla_m NE 4 and educat_m=1 and range(iscola_m, 6000, 6154) clasla_m=8 . If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 7000, 7442) clasla_m=7 . If workla_m NE 4 and educat_m=1 and range(iscola_m, 7000, 7442) clasla_m=8 . If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 8000, 8300) clasla_m=7 . If workla_m NE 4 and educat_m=1 and range(iscola_m, 8000, 8300) clasla_m=8 . If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 8312, 8322) clasla_m=7 . If workla_m NE 4 and educat_m=1 and range(iscola_m, 8312, 8322) clasla_m=8 . If workla_m NE 4 and educat_m NE 1 and range(iscola_m, 8324, 8340) clasla_m=7 . If workla_m NE 4 and educat_m=1 and range(iscola_m, 8324, 8340) clasla_m=8 . /* 2.5 Allocate elementary occupations (ISCO 9000 - 9330 ) to the schema /* Routine service workers If workla_m NE 4 and range(iscola_m, 9100, 9152) clasla_m=4 . /* Routine production workers If workla_m NE 4 and range(iscola_m, 9153, 9330) clasla_m=8 . Var lab clasla_m "Main earner's class position based on his last job". Val lab clasla_m 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing val clasla_m (-777) . Freq clasla_m. ************************************************************** ************************************************************** /* MERGING OF DIFFERENT CLASS VARIABLES INTO ONE SINGLE CLASS VARIALBES /* FOUR DIFFERENT CLASS VARIABLES: 17-CLASS VARIABLE (clas17_x), 8-CLASS VARIABLE (clas8_x), 6-CLASS VARIABLE X (clas6_x), 6-CLASS VARIABLE (clas6_y) /* DATA: SELECTS 2011 /* Combine information on individuals' class position from 6 variables: /* Class based on respondent's current job (clascu_r) /* Class based on respondent's last job (clasla_r) /* Class based on partner's current job (clascu_p) /* Class based on partner's last job (clasla_p) /* Class based on main earner's current job (clascu_m) /* Class based on main earner's last job (clasla_m) Cro clascu_r by clasla_r . Cro clascu_p by clasla_p . Cro clascu_m by clasla_m . /* 1. Dominance order: r's current job > r's last job > p's current job > p's last job > m's current job > m's last job /* 1.1 Merge six class variables (r's current, r's last, p's current, p's last, m-e's current, m-e's last) into a detailled 14-class variable Compute clas17_x = clascu_r. fre clas17_x. Do If missing (clas17_x) . compute clas17_x=clasla_r. End if. fre clas17_x. Do If missing (clas17_x) . compute clas17_x=clascu_p. End if. fre clas17_x. Do If missing (clas17_x) . compute clas17_x=clasla_p. End if. fre clas17_x. Do If missing (clas17_x) . compute clas17_x=clascu_m. End if. fre clas17_x. Do If missing (clas17_x) . compute clas17_x=clasla_m. End if. fre clas17_x. Var lab clas17_x "Class position based on r's, p's or m-e's class, 14 classes" . Val lab clas17_x 1 "Socio-cultural professionals" 2 "Socio-cultural semi-professionals" 3 "Skilled service workers" 4 "Routine serivce workers" 5 "Technical experts" 6 "Technicians" 7 "Skilled production workers" 8 "Routine production workers" 10 "Managers and administrators" 11 "Associate managers and administrators" 12 "Skilled clerks" 13 "Routine clerks" 14 "Liberal professions" 15 "Large employers" 16 "Small business owners with employees" 17 "Small business owners without employees". Missing val clas17_x (-777) . Freq clas17_x. /* 2. Create simplified version of the detailled 14-class variable: 8-class schema and 6-class schema /* 2.1 Class variable clas8_x emphasizing horizontal differences Recode clas17_x (1 thru 2=1) (3 thru 4=2) (5 thru 6=3) (7 thru 8=4) (10 thru 11=5) (12 thru 13=6) (14 thru 15=7) (16 thru 17=8) into clas8_x . Var lab clas8_x "Class position based on r's, p's or m-e's class, 8 classes" . Val lab clas8_x 1 "Socio-cultural specialists" 2 "Service workers" 3 "Technical specialists" 4 "Production workers" 5 "Managers and administrators" 6 "Clerks" 7 "Liberal professions and large employers" 8 "Small business owners" . Freq clas8_x. /* 2.2 Class variable clas6_x emphasizing vertical differences Recode clas17_x (1,5,10=1) (2, 6, 11=2) (3, 7, 12=3) (4,8,13=4) (14,15=5) (16,17=6) into clas6_x . Var lab clas6_x "Class position based on r's, p's or m-e's class, 6 classes - version x" . Val lab clas6_x 1 "Professionals and managers" 2 "Semi-professionals and associate managers" 3 "Skilled workers" 4 "Routine workers" 5 "Liberal professions and large employers" 6 "Small business owners" . Freq clas6_x. /* 2.3 Class variable clas6_y emphasizing horizontal and vertical differences Recode clas17_x (1,2=1) (3,7,12=5) (4,8,13=6) (5,6=2) (10,11,14,15=3) (16,17=4) into clas6_y. Var lab clas6_y "Class position based on r's, p's or m-e's class, 6 classes - version y" . Val lab clas6_y 1 "Socio-cultural specialists" 2 "Technical specialists" 3 "Managers, liberal professions and large employers" 4 "Small business owners" 5 "Skilled workers" 6 "Unskilled workers" . Freq clas6_y.