* 2009_panel_eu_silc_r_ver_2021_04.do * 2nd update * * STATA Command Syntax File * Stata 16.1; * * Transforms the EU-SILC CSV-data (as released by Eurostat) into a Stata systemfile * * EU-SILC Panel 2009 - release 2021-04 / DOI: https://doi.org/10.2907/EUSILC2004-2019V.2 * * When publishing statistics derived from the EU-SILC UDB, please state as source: * "EU-SILC UDB – version of 2021-04" * * Personal register file: * This version of the EU-SILC has been delivered in form of seperate country files. * The following do-file transforms the raw data into a single Stata file using all available country files. * Country files are delivered in the format UDB_l*country_stub*09H.csv * * (c) GESIS 2021-11-17 * * PLEASE NOTE * For Differences between data as described in the guidelines * and the anonymised user database as well as country specific anonymisation measures see: * L-2009 DIFFERENCES BETWEEN DATA COLLECTED.doc * * This Stata-File is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * * Pforr, Klaus and Johanna Jung (2021): 2009_panel_eu_silc_r_ver_2021_04.do, 2nd update. * Stata-Syntax for transforming EU-SILC csv data into a Stata-Systemfile. * * https://www.gesis.org/gml/european-microdata/eu-silc/ * * Contact: heike.wirth@gesis.org /* Initialization commands */ clear capture log close set more off set linesize 250 set varabbrev off #delimit ; * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; * CONFIGURATION SECTION - Start ; * The following command should contain the complete path and * name of the Stata log file. * Change LOG_FILENAME to your filename ; local log_file "LOG_FILENAME" ; * The following command should contain the complete path where the CSV data files are stored * Change CSV_PATH to your file path (e.g.: C:/EU-SILC/Longitudinal 2005-2018) * Use forward slashes and keep path structure as delivered by Eurostat CSV_PATH/COUNTRY/YEAR; global csv_path "CSV_PATH" ; * The following command should contain the complete path and * name of the STATA file, usual file extension "dta". * Change STATA_FILENAME to your final filename ; local stata_file "STATA_FILENAME" ; * CONFIGURATION SECTION - End ; * There should be probably nothing to change below this line ; * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; * Loop to open and convert csv country files into one dta file ; tempfile temp ; save `temp', emptyok ; foreach CC in AT BE BG CY CZ DK EE EL ES FI FR HU IE IS IT LT LU LV MT NL NO PL PT RO SE SI SK UK { ; cd "$csv_path/`CC'/2009" ; import delimited using "UDB_l`CC'09R.csv", case(upper) clear ; append using `temp', force ; save `temp', replace ; } ; * Countries in data file are sorted in alphanumeric order ; sort RB020 ; log using "`log_file'", replace text ; * Definition of variable labels ; label variable RB010 "Year of the survey" ; label variable RB020 "Country alphanumerisch" ; label variable RB030 "Personal ID" ; label variable RB040 "Current household ID" ; label variable RB060 "Personal base weight" ; label variable RB060_F "Flag" ; label variable RB062 "Longitudinal weight(two-year duration)" ; label variable RB062_F "Flag" ; label variable RB063 "Longitudinal weight (three-year duration)" ; label variable RB063_F "Flag" ; label variable RB064 "Longitudinal weight (four-year duration)" ; label variable RB064_F "Flag" ; label variable RB070 "Quarter of birth" ; label variable RB070_F "Flag" ; label variable RB080 "Year of birth" ; label variable RB080_F "Flag" ; label variable RB090 "Sex" ; label variable RB090_F "Flag" ; label variable RB100 "Sample person or co-resident" ; label variable RB100_F "Flag" ; label variable RB110 "Membership status" ; label variable RB110_F "Flag" ; label variable RB120 "Moved to" ; label variable RB120_F "Flag" ; label variable RB140 "Quarter moved out and died (BE:coded in months; NL:info not provided)" ; label variable RB140_F "Flag" ; label variable RB150 "Year moved out and died" ; label variable RB150_F "Flag" ; label variable RB160 "Number of months in household during the income reference period" ; label variable RB160_F "Flag" ; label variable RB170 "Main activity status during the income reference period" ; label variable RB170_F "Flag" ; label variable RB180 "Quarter moved in (BE:coded in months; NL:info not provided)" ; label variable RB180_F "Flag" ; label variable RB190 "Year moved in" ; label variable RB190_F "Flag" ; label variable RB200 "Residential Status" ; label variable RB200_F "Flag" ; label variable RB210 "Basic activity status" ; label variable RB210_F "Flag" ; label variable RB220 "Father ID" ; label variable RB220_F "Flag" ; label variable RB230 "Mother ID" ; label variable RB230_F "Flag" ; label variable RB240 "Spouse/Partner ID" ; label variable RB240_F "Flag" ; label variable RB245 "Respondent status" ; label variable RB245_F "Flag" ; label variable RB250 "Data status" ; label variable RB250_F "Flag" ; label variable RB260 "Type of interview" ; label variable RB260_F "Flag" ; label variable RB270 "Personal ID of proxy" ; label variable RB270_F "Flag" ; label variable RX020 "Age at the end of the income reference period" ; label variable RX010 "Age at the date of the interview" ; * Definition of category labels ; label define RB060_F_VALUE_LABELS 1 "filled" ; label define RB062_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (no two year trajectory for the individual i.e. individual in 1st wave)" ; label define RB063_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (no 3-year trajectory for the individual i.e. individual in 1st or 2nd wave)" ; label define RB064_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (no 4-year trajectory for the individual i.e. individual in 1st,2nd or 3rd wave)" ; label define RB070_VALUE_LABELS 1 "January, February, March" 2 "April, May, June" 3 "July, August, September" 4 "October, November, December" ; label define RB070_F_VALUE_LABELS 1 "filled" -1 "missing" ; label define RB080_VALUE_LABELS 1928 "1928 or before" 1929 "PT: 1929 and before" 1933 "MT: 1929-1933" 1938 "MT: 1934-1938" 1943 "MT: 1939-1943" 1948 "MT: 1944-1948" 1953 "MT: 1949-1953" 1958 "MT: 1954-1958" 1963 "MT: 1959-1963" 1968 "MT: 1964-1968" 1973 "MT: 1969-1973" 1978 "MT: 1974-1978" 1983 "MT: 1979-1983" 1988 "MT: 1984-1988" 1993 "MT: 1989-1993" 1998 "MT: 1994-1998" 2003 "MT: 1999-2003" 2009 "MT: 2004-2009" ; label define RB080_F_VALUE_LABELS 1 "filled" -1 "missing" ; label define RB090_VALUE_LABELS 1 "Male" 2 "Female" ; label define RB090_F_VALUE_LABELS 1 "filled" -1 "missing" ; label define RB100_VALUE_LABELS 1 "sample person" 2 "co-resident" ; label define RB100_F_VALUE_LABELS 1 "filled" -1 "missing" ; label define RB110_VALUE_LABELS 1 "was in hh in previous waves or current hh member" 2 "moved into hh from another sample hh since previous wave" 3 "moved into hh from outside sample since previous wave" 4 "newly born hh since last wave" 5 "moved out since previous wave if not contacted in previous wave)" 6 "died" 7 "lived in hh at least 3 months during the income ref. period, not recorded in the register of this hh" ; label define RB110_F_VALUE_LABELS 1 "filled" -1 "missing" ; label define RB120_VALUE_LABELS 1 "to a private household in the country" 2 "to a collective household or institution in the country" 3 "abroad" 4 "lost" ; label define RB120_F_VALUE_LABELS 1 "filled" -2 "na (RB110 not=5)" ; label define RB140_VALUE_LABELS 1 "January" 2 "February" 3 "March" 4 "April" 5 "May" 6 "June" 7 "July" 8 "August" 9 "September" 10 "October" 11 "November" 12 "December" ; label define RB140_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na(RB110 not=5 or 6)" ; label define RB150_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na (RB110 not =5 or 6)" ; label define RB160_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na (RB110 not = 5 or 6 or 7)" ; label define RB170_VALUE_LABELS 1 "at work" 2 "unemployed" 3 "in retirement or early retirement" 4 "other inactive person" ; label define RB170_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na (RB110 not = 5 or 6 or 7)" ; label define RB180_VALUE_LABELS 1 "January" 2 "February" 3 "March" 4 "April" 5 "May" 6 "June" 7 "July" 8 "August" 9 "September" 10 "October" 11 "November" 12 "December" ; label define RB180_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na (RB110 not = 3)" ; label define RB190_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na (RB110 not = 3)" ; label define RB200_VALUE_LABELS 1 "currently living in the household" 2 "temporarily absent" ; label define RB200_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (RB110 not = 1, 2, 3 or 4)" ; label define RB210_VALUE_LABELS 1 "at work" 2 "unemployed" 3 "in retirement or early retirement" 4 "other inactive person" ; label define RB210_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (RB110 not = 1, 2, 3 or 4)" ; label define RB220_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (father is not a household member) or (RB110 not = 1,2,3 or 4)" ; label define RB230_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (mother is not a household member) or (RB110 not = 1,2,3 or 4)" ; label define RB240_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "not applicable (spouse/partner is not a household member) or (RB110 not = 1,2, 3 or 4)" ; label define RB245_VALUE_LABELS 1 "current household member aged 16 and over (all hm aged 16+ interviewed)" 2 "selected respondent (only selected hm aged 16+ interviewed)" 3 "not selected respondent(only selected hm aged 16+ interviewed)" 4 "not eligible person(Hm aged less than 16)" ; label define RB245_F_VALUE_LABELS 1 "filled" -2 "not applicable (RB110 not = 1, 2, 3 or 4)" ; label define RB250_VALUE_LABELS 11 "information only completed from interview (information or interview completed)" 12 "information only completed from registers(information or interview completed) " 13 "information completed from both: interview and registers(information or interview completed) " 14 "information completed from full-record imputation (information or interview completed)" 21 "individual unable to respond and no proxy possible(Interview not completed though contact made)" 22 "failed to return self-completed questionnaire (Interview not completed though contact made)" 23 "refusal to cooperate(Interview not completed though contact made) " 31 "Individual not contacted because temporarily away and no proxy possible " 32 "Individual not contacted for other reasons" 33 "information not completed: reason unknown" ; label define RB250_F_VALUE_LABELS 1 "filled" -2 "na (RB245 not = 1,2 or 3)" ; label define RB260_VALUE_LABELS 1 "face to face interview-PAPI" 2 "face to face interview-CAPI" 3 "CATI, telephone interview" 4 "self-administered by respondent" 5 "proxy interview" ; label define RB260_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na (RB250 not=11 or 13)" ; label define RB270_F_VALUE_LABELS 1 "filled" -1 "missing" -2 "na (RB260 not=5)" ; label define RX010_VALUE_LABELS 80 "80 and older" ; * Attachement of category labels to variable ; label values RB060_F RB060_F_VALUE_LABELS ; label values RB062_F RB062_F_VALUE_LABELS ; label values RB063_F RB063_F_VALUE_LABELS ; label values RB064_F RB064_F_VALUE_LABELS ; label values RB070 RB070_VALUE_LABELS ; label values RB070_F RB070_F_VALUE_LABELS ; label values RB080 RB080_VALUE_LABELS ; label values RB080_F RB080_F_VALUE_LABELS ; label values RB090 RB090_VALUE_LABELS ; label values RB090_F RB090_F_VALUE_LABELS ; label values RB100 RB100_VALUE_LABELS ; label values RB100_F RB100_F_VALUE_LABELS ; label values RB110 RB110_VALUE_LABELS ; label values RB110_F RB110_F_VALUE_LABELS ; label values RB120 RB120_VALUE_LABELS ; label values RB120_F RB120_F_VALUE_LABELS ; label values RB140 RB140_VALUE_LABELS ; label values RB140_F RB140_F_VALUE_LABELS ; label values RB150_F RB150_F_VALUE_LABELS ; label values RB160_F RB160_F_VALUE_LABELS ; label values RB170 RB170_VALUE_LABELS ; label values RB170_F RB170_F_VALUE_LABELS ; label values RB180 RB180_VALUE_LABELS ; label values RB180_F RB180_F_VALUE_LABELS ; label values RB190_F RB190_F_VALUE_LABELS ; label values RB200 RB200_VALUE_LABELS ; label values RB200_F RB200_F_VALUE_LABELS ; label values RB210 RB210_VALUE_LABELS ; label values RB210_F RB210_F_VALUE_LABELS ; label values RB220_F RB220_F_VALUE_LABELS ; label values RB230_F RB230_F_VALUE_LABELS ; label values RB240_F RB240_F_VALUE_LABELS ; label values RB245 RB245_VALUE_LABELS ; label values RB245_F RB245_F_VALUE_LABELS ; label values RB250 RB250_VALUE_LABELS ; label values RB250_F RB250_F_VALUE_LABELS ; label values RB260 RB260_VALUE_LABELS ; label values RB260_F RB260_F_VALUE_LABELS ; label values RB270_F RB270_F_VALUE_LABELS ; label values RX010 RX020 RX010_VALUE_LABELS ; label data "Personal register file 2009" ; compress ; save "`stata_file'", replace ; log close ; set more on #delimit cr