* Encoding: windows-1252. * 2007_esec88.sps EU-SILC * SPSS Command Syntax File * * * Generates European Socio-economic Classification (ESEC) for EU-SILC Data * * For details on ESeC please visit the homepage of Eric Harrison * http://ekharrison.weebly.com/european-socio-economic-classification-esec.html * EU-SILC P-File (personal data): * UDB_c07P_ver 2007-6 from 01-08-11.csv * * For transforming the EU-SILC CSV-data (as released by Eurostat) into SPSS-data (*.sav), * please use the corresponding SPSS Command Syntax File published at * http://www.gesis.org/missy/eu/setups/EU-SILC * * (c) GESIS 02/08/2016 * GESIS - Leibniz Institute for the Social Sciences * German Microdata Lab * Anika Herter; Heike Wirth * http://www.gesis.org/en/institute/ * * Contact: heike.wirth@gesis.org * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * CONFIGURATION SECTION - Start * The following command should contain the complete path and name of the SPSS file, usual file extension "sav"; Change SPSS_FILENAME to your filename . GET FILE='SPSS_FILENAME'. * CONFIGURATION SECTION - End * There should be probably nothing to change below this line . * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . set decimal dot. * When using SPSS earlier than V16 you might not use "set unicode" . set unicode no. ************************************************************************************************ * Variables used * PB020: Country (alphanumeric) * PL050: ISCO88 (2-digit); PT: coarsend * PL040: Status in employment * PL031: self-defined current economic status * PL130: Number of Persons working at the local unit * PL150: managerial position * ************************************************************************************************* * Good to know * (1) PL130 is only available for currently economic active persons * The ranges used in PL130 categories '14' (don't know but < 11) and '15' (don't know but > 10) * are slightly different to the ranges (< 10; >=10) used in ESEC * (2) In the so-called register countries, some information is available only for the * 'selected respondent' (= only one person per household is interviewed) * with respect to the variables needed for ESEC this is true PL130 (size ..) and * PL150 (managerial position) * * => ESEC can only be generated for persons currently economic active * => In register countries (DK, FI, IS, NL, NO, SE, SI) ESEC can only be generated for the * 'selected respondent'. In all other countries ESEC can be generated for all household * members currently economic active * * (3) There are country specific anonymisation rules in EU-SILC for MT and PT * MT: ISCO88 is provided only for major groups (1-digit) * PT: ISCO88 sub-major groups 11, 12 are assigned to sub-major group 13 => * * * => ESEC for MT and PT is not fully consistent with ESEC for the other countries ************************************************************************************************ * ESEC 88 * Step 1: derive employment status categories (emplrel) * a) * need to know status in employment (self-employed or employed) * Variable name in EU Silc is PL040 * the newly generated variable is "emplrel" * Please note: family workers are treated as employees *freQUENCIES var= PL040 . recode PL040 (3=1) (4=1) (1=2) (2=2) into emplrel. execute. *fre var= emplrel. val labs emplrel 1'employee' 2'self-employed'. execute. *fre var= emplrel. * b) * Self-employed were split according to the number of persons working at the local unit * adequate variable in EU-SILC is PL130 * generating new variable "emplno" recode PL130 (1 thru 9=1) (10 thru 13=2) (14=1) (15=2) into emplno. *fre emplno. *fre PB020. execute. val labs emplno 1 '1to 10' 2 '>10'. *fre emplno. * c) * Next differentiation is based on the managerial position * adequate variable in EU-SILC is PL150 * generating new variable "jbspv" compute jbspv=2. recode PL150 (1=1) (2=2) into jbspv. val labs jbspv 1'supervisory' 2 'nonsupervisory'. execute. *fre jbspv. crosstabs PL150 by jbspv. * d) * now combine the basic employment situation with the number of persons at the local * unit and the managerial position * generating new variable "empstat". if (emplrel=2 and emplno=2) empstat=1. if (emplrel=2 and emplno=1) empstat=2. if (emplrel=1 and jbspv =1) empstat=3. if (emplrel=1 and jbspv =2) empstat=4. val labs empstat 1 'se10+' 2 'se<=10' 3 'sup' 4 'emp'. execute. *fre empstat. execute. ****************************************************************************************** *** Stage 2: creation of ESEC * A: ESEC88 * for ISCO-88, the corresponding variable in EU-SILC is PL050 *fre PL050. compute ESEC88=PL050. *fre ESEC88. ***blocks of syntax for each employment status variable*** *self-employed 10+. do if (empstat=1). recode ESEC88 (1 ,10, 11, 12, 12, 13, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 51, 52 ,61 ,71 ,72, 73, 74, 81, 82, 83, 91, 92, 93, 20, 30, 40, 50, 60, 70, 80, 90 =1) . end if. execute. *fre var=ESEC88. * self-employed <=10. do if (empstat=2). recode ESEC88 (1 ,11, 20, 21, 22, 24 =1) (23, 31, 32 =2) (10, 12, 13, 30, 33, 34, 40, 41, 42, 50, 51, 52, 70, 71, 72, 73, 74, 80, 81, 82, 83, 90, 91, 93 =4) (60, 61, 92 =5). end if. execute. *fre var= ESEC88. * supervisors. do if empstat=3. recode ESEC88 (1, 10, 11, 12, 20, 21, 22 ,24 =1 ) (13, 23, 30, 31, 32, 33, 34, 40, 41, 42 =2) (50, 51, 52, 60, 61, 70, 71, 72, 73, 74, 80, 81, 82, 83, 90, 91, 92, 93 =6) . end if. execute. *fre var = ESEC88 . * employees. do if empstat=4. recode ESEC88 (1 ,10, 11, 12, 20, 21, 22, 24 =1) (13, 23, 31, 32 =2) (30, 33, 34, 40, 41, 42 =3) (73 =6) (50, 51, 52 =7 ) (60, 61, 70, 71, 72, 74 =8) (80, 81, 82, 83, 90, 91, 92, 93 =9) . end if. execute. *fre var =ESEC88 . var labs ESEC88 'ESEC88'. val labs ESEC88 1 'Large employers, higher mgrs/professionals' 2 'Lower mgrs/professionals, higher supervisory/technicians' 3 'Intermediate occupations' 4 'Small employers and self-employed (non-agriculture)' 5 'Small employers and self-employed (agriculture)' 6 'Lower supervisors and technicians' 7 'Lower sales and service' 8 'Lower technical' 9 'Routine' ************************************************************************************** * check the new created variables . recode empstat ESEC88 (sysmis=-99). crosstabs ESEC88 by empstat /MISSING = INCLUDE . * not all variables needed for generating ESEC are available for all respondents. This is especially * true for countries using the concept of "selected respondents" (DK, FI, IS, NL, NO, SE, SI). In these countries * the variables PL130 (size ...) and PL150 (managerial status) are available only for selected respondents. * That is, in these countries ESEC can not be generated for PX040 = 3 (not selected respondent) because important * information is missing * crosstabs PB020 by PX040 /MISSING = INCLUDE. * crosstabs PL130 by PX040 /MISSING = INCLUDE. * crosstabs PL150 by PX040 /MISSING = INCLUDE. * crosstabs ESEC88 by PX040 /MISSING = INCLUDE. * ESEC for 'not selected respondent' is set to missing value *. do if (PX040=3). recode ESEC88 (0 thru 99=sysmis). end if. fre ESEC88 . * ESEC for people, there is no information about status in employment available is set to missing value *. do if (PL040>4). recode ESEC88(0 thru 99=sysmis). end if. do if MISSING (PL040). recode ESEC88(0 thru 99=sysmis). end if. execute. *fre ESEC88. * Moreover, because PL130 is not asked for respondents currently not working, ESeC can not be assigned to these respondents do if MISSING (PL130). recode ESEC88 (0 thru 99=sysmis). end if. recode empstat ESEC88 (sysmis=-99). *fre ESEC88 . missing value ESEC88 (-99). fre ESEC88 . *crosstabs PB020 by ESEC88 /MISSING = INCLUDE . *crosstabs ESEC88 by empstat /MISSING = INCLUDE .