* Encoding: windows-1252. ******************************************************************* ***** SYNTAX FOR SHP HOUSEHOLD TYPOLOGY ***** ***** YEAR 2018 - WAVE 20 ***** ******************************************************************* ***** GOAL *****. * /// This household typology is created to show the diversity across different types of families (single parent, unmarried parents, blended families). * Among the couples with children, it identifies whether the children are from the current relationship, a previous relationship, or from both. This new typology discriminates between * "Couple with common child(ren)", "Couple with chil(dren) from a previous relationship", "Couple with children from current and previous relationship" ///. ***** PROCEDURE: small comments *****. * /// Creating this typology requires multiple steps, on two levels. * 1) At the INDIVIDUAL level: it takes into account for each individual in the dataset whether they live with a) one or two parents (own or partner's parents); b) a partner; c) child(ren) (own, common, partner's) And combines all the three answers into 1 code. * 2) At the HOUSEHOLD level: for each household, it aggregates the answers from each individual in the household to create a household level typology ///. * 3) !!! The name of some variables is sensitive to the number of members in the household or the number of respondent's child. Please check where necessary !!!. * 4) When using the commands CONCAT or DELETE VARIABLES please check the variables listed in the command and adapt if necessary. * 5) !!! Do not forget to adapt working directory before running syntax !!!. ***** PROCEDURE: Step by step *****. *** A. IMPORT DATA and SELECT VARIABLES **** ** A.1. MERGE INDIVIDUAL FILE (wave specific) WITH MASTER PERSON FILE (13751 observations). GET FILE= '[...]\SHP18_P_USER.sav'. MATCH FILES /FILE=* /TABLE= '[...]\SHP_MP.sav' /RENAME (IDFATH$$ IDMOTH$$ = IDFATHER IDMOTHER) /BY IDPERS /KEEP IDPERS IDHOUS18 SEX18 AGE18 RELARP18 IDSPOU18 CIVSTA18 BIRTHY BIRTHM IDFATHER IDMOTHER. EXECUTE. SAVE OUTFILE='[...]\SHP18s.sav'. DATASET NAME SHP18s. ***** B. CREATE NEW VARIABLES ****** . ***. B.1. *** � IDPERHOUS18 - Create a variable that lists per IDHOUS$$ all IDPERS in the household***. * 5 steps: select variables, transpose from long to wide format, concatenate variables, select new variable, merge. ** B.1.1 Select variables. DATASET COPY TempData. DATASET ACTIVATE TempData. DELETE VARIABLES BIRTHY TO IDMOTHER SEX18 to CIVSTA18. ** B.1.2. Transpose from long to wide format. SORT CASES BY IDHOUS18 . CASESTOVARS /ID=IDHOUS18 /GROUPBY=VARIABLE. ** B.1.3. Concatenate indivdual identification numbers into one variable. *!! The number to concatenate is sensitive to the number of members in the household. Please adapt if necessary. STRING IDPERHOUS18 (A120). COMPUTE IDPERHOUS18 = CONCAT(LTRIM(STRING(IDPERS.1,F10)), ",", LTRIM(STRING(IDPERS.2,F10)), ",", LTRIM(STRING(IDPERS.3,F10)), ",", LTRIM(STRING(IDPERS.4,F10)), ",", LTRIM(STRING(IDPERS.5,F10)), ",", LTRIM(STRING(IDPERS.6,F10)), ",", LTRIM(STRING(IDPERS.7,F10)), ",", LTRIM(STRING(IDPERS.8,F10)), ",", LTRIM(STRING(IDPERS.9,F10)), ",", LTRIM(STRING(IDPERS.10,F10))). EXECUTE. compute IDPERHOUS18 = replace(rtrim(IDPERHOUS18),',.',' '). EXECUTE. ** B.1.4. Select new variable (Delete IDPERS.1-IDPERS.10 variables). * !!! Here the number after IDPERS. is sensitive to the number of members in the household. Please adapt if necessary. DELETE VARIABLES IDPERS.1 TO IDPERS.10. ** B.1.5. Merge concatenated variable (IDPERHOUS18) into SHP18s data. DATASET ACTIVATE SHP18s. SORT CASES BY IDHOUS18 . MATCH FILES /FILE=* /TABLE=tempdata /BY IDHOUS18. EXECUTE. DATASET CLOSE TempData. *** B.2 *** � IDCHD.1, IDCHD.2, BIRTHYCHD.1, BIRTHYCHD.2, etc.. - Create variables regarding own child.***. * When a respondent has an IDFATHER or IDMOTHER, copy their IDPERS, BIRTHY and BIRTHM on their parents' line. * 4 steps: 1/select cases and variables, 2/Rank the child & Restructure data for fathers, 3/same for mothers, 4/Merge files. ** B.2.1. Select cases = select children with identification number for father or mother and drop unnecessary variables (keep only IDPERS BIRTHY BIRTHM IDFATHER IDMOTHER). DATASET COPY SHP18sCHD. DATASET ACTIVATE SHP18sCHD. SELECT IF (IDFATHER > 0 OR IDMOTHER > 0). EXECUTE. DELETE VARIABLES IDHOUS18 SEX18 AGE18 RELARP18 IDSPOU18 CIVSTA18 IDPERHOUS18. RENAME VARIABLES (IDPERS=IDCHD18) (BIRTHY=BIRTHYCHD18) (BIRTHM=BIRTHMCHD18). ** B.2.2 Father file. DATASET COPY SHP18sFA. DATASET ACTIVATE SHP18sFA. SELECT IF (IDFATHER > 0). EXECUTE. DELETE VARIABLES IDMOTHER. SORT CASES BY IDFATHER(A) BIRTHYCHD18(A). RANK VARIABLES=IDCHD18 (A) BY IDFATHER /RANK /PRINT=YES /TIES=CONDENSE. FORMATS RIDCHD18 (F1.0). CASESTOVARS /ID=IDFATHER /INDEX=RIDCHD18 /GROUPBY=INDEX. RENAME VARIABLES (IDFATHER=IDPERS). SORT CASES BY IDPERS. ** B.2.3 Mother file. DATASET ACTIVATE SHP18sCHD. DATASET COPY SHP18sMO. DATASET ACTIVATE SHP18sMO. SELECT IF (IDMOTHER > 0). EXECUTE. DELETE VARIABLES IDFATHER. SORT CASES BY IDMOTHER(A) BIRTHYCHD18(A). RANK VARIABLES=IDCHD18 (A) BY IDMOTHER /RANK /PRINT=YES /TIES=CONDENSE. FORMATS RIDCHD18 (F1.0). CASESTOVARS /ID=IDMOTHER /INDEX=RIDCHD18 /GROUPBY=INDEX. RENAME VARIABLES (IDMOTHER=IDPERS). SORT CASES BY IDPERS. ** B.2.4. Merge files. ADD FILES /FILE=* /FILE=SHP18sFA. EXECUTE. SORT CASES BY IDPERS. DATASET NAME SHP18sPAR. DATASET CLOSE SHP18sFA. DATASET CLOSE SHP18sCHD. DATASET ACTIVATE SHP18s. SORT CASES BY IDPERS. MATCH FILES /FILE= * /TABLE=SHP18sPAR /by IDPERS. EXECUTE. SORT CASES BY IDHOUS18(A) IDPERS(A). DATASET CLOSE SHP18sPAR. *** B.3. *** � LIVWPAR18 - Create variable 'Lives with parents' ***. * This variable determines whether the individual lives with one parent (father, mother) or both, or none. * 3 steps: 1/ lives with father/mother, 2/aggregates answers for both parents. ** B.3.1. Identifies if IDFATHER,IDMOTHER is found in IDPERHOUS18. ** Lives with father. COMPUTE livwfa18 = 0. IF (CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDFATHER, F10)))))>0) livwfa18 =1. execute. ** Lives with mother. COMPUTE livwmo18 = 0. IF (CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDMOTHER, F10)))))>0) livwmo18 =2. execute. ** B.3.2. Combine answers for both parents. COMPUTE LIVWPAR18 = livwfa18 + livwmo18. VARIABLE LABELS LIVWPAR18 "Lives with parent(s)". VALUE LABELS LIVWPAR18 0 "no" 1 "with father" 2 "with mother" 3 "with father+mother". FORMATS LIVWPAR18 (F1.0). EXECUTE. fre livwpar18. DELETE VARIABLES livwfa18 livwmo18. *** B.4. *** � LIVWPRTNR18 - Create variables 'Lives with partner' ***. * This variable determines whether the individual lives with a partner or not. COMPUTE LIVWPRTNR18 =0. IF (IDSPOU18 > 0) LIVWPRTNR18 =1. VARIABLE LABELS LIVWPRTNR18 "Lives with partner" . VALUE LABELS LIVWPRTNR18 0 "no" 1 "yes" . FORMATS LIVWPRTNR18 (F1.0). EXECUTE. *** B.5. *** � ..._p Copy variables regarding the partner AGE_p, SEX_p, CIVSTA_p, ..., IDCHD18.1_p, ****. * When a respondent has an IDSPOU = LIVWPRTNR = 1, copy some variables on their partner's line. * 3 steps: 1/select cases and variables, 2/ rename variables, 3/merge files. ** B.5.1. Select cases and variables. DATASET COPY SHP18sPRTNR. DATASET ACTIVATE SHP18sPRTNR. SELECT IF (IDSPOU18 > 0). EXECUTE. DELETE VARIABLES IDPERS IDHOUS18 IDPERHOUS18 LIVWPRTNR18. ** B.5.2. Rename variables. *!!! Please adapt if necessary (see procedure comments 3 & 4). RENAME VARIABLES (BIRTHY BIRTHM IDFATHER IDMOTHER SEX18 AGE18 RELARP18 IDSPOU18 CIVSTA18 =BIRTHY_p BIRTHM_p IDFATHER_p IDMOTHER_p SEX18_p AGE18_p RELARP18_p IDSPOU18_p CIVSTA18_p). RENAME VARIABLES (IDCHD18.1 BIRTHYCHD18.1 BIRTHMCHD18.1 IDCHD18.2 BIRTHYCHD18.2 BIRTHMCHD18.2 =IDCHD18.1_p BIRTHYCHD18.1_p BIRTHMCHD18.1_p IDCHD18.2_p BIRTHYCHD18.2_p BIRTHMCHD18.2_p). RENAME VARIABLES (IDCHD18.3 BIRTHYCHD18.3 BIRTHMCHD18.3 IDCHD18.4 BIRTHYCHD18.4 BIRTHMCHD18.4=IDCHD18.3_p BIRTHYCHD18.3_p BIRTHMCHD18.3_p IDCHD18.4_p BIRTHYCHD18.4_p BIRTHMCHD18.4_p ). RENAME VARIABLES (IDCHD18.5 BIRTHYCHD18.5 BIRTHMCHD18.5 IDCHD18.6 BIRTHYCHD18.6 BIRTHMCHD18.6=IDCHD18.5_p BIRTHYCHD18.5_p BIRTHMCHD18.5_p IDCHD18.6_p BIRTHYCHD18.6_p BIRTHMCHD18.6_p ). RENAME VARIABLES (IDCHD18.7 BIRTHYCHD18.7 BIRTHMCHD18.7 IDCHD18.8 BIRTHYCHD18.8 BIRTHMCHD18.8 LIVWPAR18=IDCHD18.7_p BIRTHYCHD18.7_p BIRTHMCHD18.7_p IDCHD18.8_p BIRTHYCHD18.8_p BIRTHMCHD18.8_p LIVWPAR18_p). RENAME VARIABLES (IDSPOU18_p=IDPERS) . SORT CASES BY IDPERS(A). ** B.5.3. Merge file. DATASET ACTIVATE SHP18s. SORT CASES BY IDPERS(A). MATCH FILES /FILE=* /TABLE=SHP18sPRTNR /by IDPERS. EXECUTE. SORT CASES BY IDHOUS18(A) IDPERS(A). DATASET CLOSE SHP18sPRTNR. *** B.6 *** � LIVWPAR18.2 - Create variable lives with parents including answer from partner ***. COMPUTE LIVWPAR18.2 = 0. IF (LIVWPAR18 > 0 OR LIVWPAR18_p > 0 ) LIVWPAR18.2=1. VARIABLE LABELS LIVWPAR18.2 "Lives with parents(-in-law)". VALUE LABELS LIVWPAR18.2 1 "yes" 0 "no". FORMATS LIVWPAR18.2 (F1.0). EXECUTE. *** B.7 *** � LIVWCHD18.own/comm/prtnr - Create variable lives with children OWN, COMMON, PARTNER'S ***. * These variables indicate whether individuals live with their own child(ren), common children or partner's child(ren). * Multiple steps: 1/ determines whether child is in the household; 2/list IDCHD1.-.8; 3/determines whether child in individuals own, common or partner's one; * 4/determines whether lives with own, common, or partner's child, 5/aggregates three answers into one, 6/Recocode into fewer categories. *!!! In year 2018 max. 8 children. Please adapt if necessary (see procedure comments 3 & 4). ** B.7.1. Temporary variable: identifies if child is in the household. ** Respondent's child. COMPUTE chd1inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.1, F10)))))>0) . COMPUTE chd2inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.2, F10)))))>0). COMPUTE chd3inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.3, F10)))))>0). COMPUTE chd4inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.4, F10)))))>0). COMPUTE chd5inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.5, F10)))))>0). COMPUTE chd6inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.6, F10)))))>0). COMPUTE chd7inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.7, F10)))))>0). COMPUTE chd8inhh=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.8, F10)))))>0). execute. ** idem for partner's chld. COMPUTE chd1inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.1_p, F10)))))>0). COMPUTE chd2inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.2_p, F10)))))>0). COMPUTE chd3inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.3_p, F10)))))>0). COMPUTE chd4inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.4_p, F10)))))>0). COMPUTE chd5inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.5_p, F10)))))>0). COMPUTE chd6inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.6_p, F10)))))>0). COMPUTE chd7inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.7_p, F10)))))>0). COMPUTE chd8inhh_p=(CHAR.RINDEX(lower(ltrim(rtrim(IDPERHOUS18))),lower(ltrim(rtrim(STRING(IDCHD18.8_p, F10)))))>0). execute. ** B.7.2. Temporary variable: creates string variables including all IDCHD.1-8 = concatenates children's ID. ** For individual's children. STRING IDCHD1_8 (A100). COMPUTE IDCHD1_8 = CONCAT(LTRIM(STRING(IDCHD18.1, F10.0)), ",", LTRIM(STRING(IDCHD18.2, F10.0)), ",", LTRIM(STRING(IDCHD18.3, F10.0)), ",", LTRIM(STRING(IDCHD18.4, F10.0)), ",", LTRIM(STRING(IDCHD18.5, F10.0)), ",", LTRIM(STRING(IDCHD18.6, F10.0)), ",", LTRIM(STRING(IDCHD18.7, F10.0)), ",", LTRIM(STRING(IDCHD18.8, F10.0))). EXECUTE. ** For partner's children. STRING IDCHD1_8_p(A100). COMPUTE IDCHD1_8_p= CONCAT(LTRIM(STRING(IDCHD18.1_p, F10.0)), ",", LTRIM(STRING(IDCHD18.2_p, F10.0)), ",", LTRIM(STRING(IDCHD18.3_p, F10.0)), ",", LTRIM(STRING(IDCHD18.4_p, F10.0)), ",", LTRIM(STRING(IDCHD18.5_p, F10.0)), ",", LTRIM(STRING(IDCHD18.6_p, F10.0)), ",", LTRIM(STRING(IDCHD18.7_p, F10.0)), ",", LTRIM(STRING(IDCHD18.8_p, F10.0))). EXECUTE. ** Clean these variables = erase 'empty information'. compute IDCHD1_8 = replace(rtrim(IDCHD1_8), ',.' ,' '). compute IDCHD1_8_p = replace(rtrim(IDCHD1_8_p), ',.' ,' '). EXECUTE. ** B.7.3. Temporary variable: Own, common or partner's child. ** Own child. COMPUTE chd1own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.1, F10)))))<=0). COMPUTE chd2own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.2, F10)))))<=0). COMPUTE chd3own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.3, F10)))))<=0). COMPUTE chd4own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.4, F10)))))<=0). COMPUTE chd5own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.5, F10)))))<=0). COMPUTE chd6own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.6, F10)))))<=0). COMPUTE chd7own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.7, F10)))))<=0). COMPUTE chd8own=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.8, F10)))))<=0). EXECUTE. ** Common child. COMPUTE chd1comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.1, F10)))))>0). COMPUTE chd2comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.2, F10)))))>0). COMPUTE chd3comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.3, F10)))))>0). COMPUTE chd4comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.4, F10)))))>0). COMPUTE chd5comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.5, F10)))))>0). COMPUTE chd6comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.6, F10)))))>0). COMPUTE chd7comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.7, F10)))))>0). COMPUTE chd8comm=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8_p))),lower(ltrim(rtrim(STRING(IDCHD18.8, F10)))))>0). EXECUTE. ** Partner's child. COMPUTE chd1prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.1_p, F10)))))<=0). COMPUTE chd2prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.2_p, F10)))))<=0). COMPUTE chd3prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.3_p, F10)))))<=0). COMPUTE chd4prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.4_p, F10)))))<=0). COMPUTE chd5prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.5_p, F10)))))<=0). COMPUTE chd6prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.6_p, F10)))))<=0). COMPUTE chd7prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.7_p, F10)))))<=0). COMPUTE chd8prtnr=(CHAR.RINDEX(lower(ltrim(rtrim(IDCHD1_8))),lower(ltrim(rtrim(STRING(IDCHD18.8_p, F10)))))<=0). EXECUTE. ** B.7.4. Determines whether lives with own, common, or partner's child. ** Lives with: own child. compute LIVWCHD18.OWN = 0. IF ((chd1inhh =1 AND chd1own=1) OR (chd2inhh =1 AND chd2own=1) OR (chd3inhh =1 AND chd3own=1) OR (chd4inhh =1 AND chd4own=1) OR (chd5inhh =1 AND chd5own=1) OR (chd6inhh =1 AND chd6own=1) OR (chd7inhh =1 AND chd7own=1) OR (chd8inhh =1 AND chd8own=1)) LIVWCHD18.OWN= 100. execute. ** Lives with: common child. compute LIVWCHD18.COMM = 0. IF ((chd1inhh =1 AND chd1comm=1) OR (chd2inhh =1 AND chd2comm=1) OR (chd3inhh =1 AND chd3comm=1) OR (chd4inhh =1 AND chd4comm=1) OR (chd5inhh =1 AND chd5comm=1) OR (chd6inhh =1 AND chd6comm=1) OR (chd7inhh =1 AND chd7comm=1) OR (chd8inhh =1 AND chd8comm=1)) LIVWCHD18.COMM= 10. execute. ** Lives with: partner's child. compute LIVWCHD18.PRTNR = 0. IF ((chd1inhh_p =1 AND chd1prtnr=1) OR (chd2inhh_p =1 AND chd2prtnr=1) OR (chd3inhh_p =1 AND chd3prtnr=1) OR (chd4inhh_p =1 AND chd4prtnr=1) OR (chd5inhh_p =1 AND chd5prtnr=1) OR (chd6inhh_p =1 AND chd6prtnr=1) OR (chd7inhh_p =1 AND chd7prtnr=1) OR (chd8inhh_p =1 AND chd8prtnr=1)) LIVWCHD18.PRTNR= 1. execute. ** B.7.5. Aggregates: lives with own, common, partner's children. compute LIVWCHD18 = sum (LIVWCHD18.OWN,LIVWCHD18.COMM, LIVWCHD18.prtnr). variable labels LIVWCHD18 "Lives with child(ren): own, common, or partner's ". value labels LIVWCHD18 0 "No" 10 "Common" 100 "Own" 1"Partner's" 101 "Own and Partner's" 110 "Own and common" 11"Partner's and common" 111"Own and Partner's and common". execute. ** B.7.6. Recode variables into fewer categories. compute LIVWCHD18R = 0. IF (LIVWCHD18 = 10) LIVWCHD18R = 1. IF (LIVWCHD18 = 100 OR LIVWCHD18 = 1 OR LIVWCHD18 = 101) LIVWCHD18R = 2. IF (LIVWCHD18 = 110 OR LIVWCHD18 = 11 OR LIVWCHD18 = 111) LIVWCHD18R=3. variable labels LIVWCHD18R "Lives with child(ren): own, common, or partner's - reduced ". value labels LIVWCHD18R 0 "No" 1 "Common" 2 "Own &/ Partner's" 3"Own &/ Partner's & Common" . FORMATS LIVWCHD18R (F1.0). Execute. * Delete temporary variables which are no longer useful. * !!! Here the number in 'chd.inhh' and after 'IDCHD1_' is sensitive to the number of children per respondent. Please adapt if necessary. DELETE VARIABLES chd1inhh TO chd8inhh chd1own TO chd8prtnr chd1inhh_p TO chd8inhh_p LIVWCHD18.OWN TO LIVWCHD18.PRTNR IDCHD1_8 IDCHD1_8_p. *** B.8. * At the INDIVIDUAL level: combines the previous variables - 'LIVWPAR18.2, LIVWPRTNR18, LIVWCHD18R ****. *** � LIVW18 - Create variable 'Lives with': Parents, Partner, Child ***. COMPUTE LIVW18 = -9. IF (LIVWPAR18.2 = 0 AND LIVWPRTNR18 = 0 AND LIVWCHD18R = 0) LIVW18 = 0. IF (LIVWPAR18.2 = 1 AND LIVWPRTNR18 = 0 AND LIVWCHD18R = 0) LIVW18 = 1. IF (LIVWPAR18.2 = 0 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 0) LIVW18 = 2. IF (LIVWPAR18.2 = 0 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 1) LIVW18 = 3. IF (LIVWPAR18.2 = 0 AND LIVWPRTNR18 = 0 AND LIVWCHD18R = 2) LIVW18 = 4. IF (LIVWPAR18.2 = 0 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 2) LIVW18 = 5. IF (LIVWPAR18.2 = 0 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 3) LIVW18 = 6. IF (LIVWPAR18.2 = 1 AND LIVWPRTNR18 = 0 AND LIVWCHD18R = 2) LIVW18 = 7. IF (LIVWPAR18.2 = 1 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 0) LIVW18 = 8. IF (LIVWPAR18.2 = 1 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 1) LIVW18 = 9. IF (LIVWPAR18.2 = 1 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 2) LIVW18 = 10. IF (LIVWPAR18.2 = 1 AND LIVWPRTNR18 = 1 AND LIVWCHD18R = 3) LIVW18 = 11. VARIABLE LABELS LIVW18 "Lives with relations: (in-law) parent(s), partner, or child(ren)". VALUE LABELS LIVW18 0 "None of these" 1 "(in-law) Parent(s)" 2 "Partner" 3"Partner & common child" 4 "Own child(ren)" 5 "Partner & child(ren) from previous rel." 6 "Partner & child(ren) from previous and current rel." 7 " (in-law) Parent(s) & child(ren) from prev. rel." 8 "(in-law) Parent(s) & partner" 9 " (in-law) Parent(s) & partner & common child(ren)" 10 " (in-law) Parent(s) & partner & child(ren) from prev. rel." 11" (in-law) Parent(s) & partner & child(ren) from prev. and curr. rel." . FORMATS LIVW18 (F2.0). Execute. *** B.9. * At the HOUSEHOLD LEVEL: COMBINATION OF INDIVIDUAL RESPONSES****. *** � LIVW18list - Create variable that lists the individual'answer for 'Lives with': Parents, Partner, Child ***. * 5 steps: 1/Copy and select variables, 2/Reshape dataset, 3/Compute list, 4/Recode into fewer cat., 5/merge. ** B.9.1. Copy dataset and select variables. DATASET COPY ProvData. DATASET ACTIVATE ProvData. DELETE VARIABLES IDPERS SEX18 TO IDMOTHER SEX18 TO LIVWCHD18R. ** B.9.2. Restructure/transpose from long to wide format. SORT CASES BY IDHOUS18 LIVW18. CASESTOVARS /ID=IDHOUS18 /GROUPBY=VARIABLE. ** B.9.3. Create variable that list all individual 'lives with..' codes. *!!! Please adapt if necessary (see procedure comments 3 & 4). STRING LIVW18list (A20). COMPUTE LIVW18list = CONCAT(LTRIM(STRING(LIVW18.1,F10)), ",", LTRIM(STRING(LIVW18.2,F10)), ",", LTRIM(STRING(LIVW18.3,F10)), ",", LTRIM(STRING(LIVW18.4,F10)), ",", LTRIM(STRING(LIVW18.5,F10)), ",", LTRIM(STRING(LIVW18.6,F10)), ",", LTRIM(STRING(LIVW18.7,F10)), ",", LTRIM(STRING(LIVW18.8,F10)), ",", LTRIM(STRING(LIVW18.9,F10)), ",", LTRIM(STRING(LIVW18.10,F10))). EXECUTE. compute LIVW18list = replace(rtrim(LIVW18list),',.',' '). EXECUTE. ** delete repetition = keep unique values. * !!! To be repeated as much as necessary (here set to max 20). do repeat x = 1 to 20. COMPUTE LIVW18list = REPLACE (LIVW18list, "0,0", "0"). COMPUTE LIVW18list = REPLACE (LIVW18list, "1,1", "1"). COMPUTE LIVW18list = REPLACE (LIVW18list, "2,2", "2"). COMPUTE LIVW18list = REPLACE (LIVW18list, "3,3", "3"). COMPUTE LIVW18list = REPLACE (LIVW18list, "4,4", "4"). COMPUTE LIVW18list = REPLACE (LIVW18list, "5,5", "5"). COMPUTE LIVW18list = REPLACE (LIVW18list, "6,6", "6"). COMPUTE LIVW18list = REPLACE (LIVW18list, "7,7", "7"). COMPUTE LIVW18list = REPLACE (LIVW18list, "8,8", "8"). COMPUTE LIVW18list = REPLACE (LIVW18list, "9,9", "9"). COMPUTE LIVW18list = REPLACE (LIVW18list, "10,10", "10"). COMPUTE LIVW18list = REPLACE (LIVW18list, "11,11", "11"). end repeat. execute. ** B.10. Recode into reduced number of types. * !!!! -------------- ATTENTION ------------------- !!!! * Due to potential errors on IDFATHER, IDMOTHER, IDPARTNER, IDCHD (i.e. Identification number set on the wrong person), * but also to diversity between waves, * some HHcode (different from those listed below) must be MANUALLY checked and classified. * The control consists in verifying if the combinations are plausible (ex:" 2,4,8") or not plausible (ex: "7,9") * and in deciding which household category they must be coded into. STRING HHcode18 (A100). COMPUTE HHcode18= LIVW18list. EXECUTE. IF (HHcode18 = "0" AND SYSMIS(LIVW18.2)) HHcode18= "0". IF (HHcode18 = "0" AND LIVW18.2=0) HHcode18= "0,0". IF (HHcode18 = "0,2" OR HHcode18= "2") HHcode18= "2". IF (HHcode18 = "0,1,3" OR HHcode18 = "1,3" OR HHcode18 = "7,9" OR HHcode18 ="3,5,7" OR HHcode18 ="1,7,9" OR HHcode18 = "1,3,5" OR HHcode18 ="1,3,5,7"OR HHcode18 = "2,4,5,7"OR HHcode18 ="5,7") HHcode18= "1,3". IF (HHcode18 = "0,1,4" OR HHcode18 ="1,4" ) HHcode18= "1,4". IF (HHcode18 = "0,1,5" OR HHcode18 ="1,5" OR HHcode18 = "7"OR HHcode18 = "1,2,5,7"OR HHcode18 ="1,2,5") HHcode18= "1,5". IF (HHcode18 = "0,1,6" OR HHcode18 ="1,6" ) HHcode18= "1,6". IF (HHcode18 ="3,8" OR HHcode18 = "4,8" OR HHcode18 = "5,8" OR HHcode18 = "0,3,8" OR HHcode18 = "0,4,8" OR HHcode18 = "1,3,7" OR HHcode18 = "1,4,7" OR HHcode18 = "1,3,9" OR HHcode18 = "0,1,3,9" OR HHcode18 = "1,4,9" OR HHcode18 = "0,1,4,9" OR HHcode18 = "1,3,8,9" OR HHcode18 = "1,5,7" OR HHcode18 = "0,1,5,7" OR HHcode18 = "0,1,2,4" OR HHcode18 = "1,3,8" OR HHcode18 = "0,1,3,8" OR HHcode18 ="1,3,4,8" OR HHcode18 = "1,4,8" OR HHcode18 = "1,4,10" OR HHcode18 = "1,2,4"OR HHcode18 = "1,6,7" OR HHcode18 ="2,4,8" OR HHcode18 ="0,1,5,8" OR HHcode18 = "1,3,4") HHcode18="other I". execute. *!! The number after 'LIVW18.' is sensitive to the number of members in the household. Please adapt if necessary. DELETE VARIABLES LIVW18.1 TO LIVW18.10. DATASET ACTIVATE SHP18s. SORT CASES BY IDHOUS18(A) IDPERS(A). MATCH FILES /FILE= * /TABLE=ProvData /by IDHOUS18. EXECUTE. DATASET CLOSE ProvData. * Before creating the definitive Household type variable, it is necessary to identify households with married couples (individual + household level).. * At the INDIVIDUAL LEVEL. *** B.11 *** � MARCPL18 - Married couple *** . * !! here the variable COHAST is not used because it is constructed on a individual level, * which means that two partners can have two different answers on COHAST. * In consequence, here two partners with a civil status = 'married' are considered here as married together, even if it is possible that they are married to someone else. * Besides, civil status 6= 'registered partnership' is considered as equivalent to 2-'married'. COMPUTE MARCPL18 = 0. IF ((CIVSTA18 = 2 OR CIVSTA18 = 6) AND (CIVSTA18_p=2 OR CIVSTA18_p=6 )) MARCPL18 = 1. IF sysmis(CIVSTA18_p) MARCPL18=-3. VARIABLE LABELS MARCPL18 "Married couple". VALUE LABELS MARCPL18 0"No" 1"Yes" -3"Not in couple". FORMATS MARCPL18 (F1.0). execute. * At the HOUSEHOLD LEVEL. *** B.12 *** � MARCPLinHH18 - Married couple in the household *** . * Identify household with at least one married couple (MARCPL=1). * 4 steps: 1/ copy variable, 2/restructure dataset, 3/list individuals answer, 4/identify houselholds, 5/merge. ** B.12.1. Copy data and keep only IDHOUS18 and MARCPL. DATASET COPY ProvData2. DATASET ACTIVATE ProvData2. DELETE VARIABLES IDPERS SEX18 TO HHcode18. ** B.12.2 Reshape/Restructure the dataset ProvData2 from long to wide format. SORT CASES BY IDHOUS18 . CASESTOVARS /ID=IDHOUS18 /GROUPBY=VARIABLE. ** B.12.3 Create list. ** 3.1 Concatenate answers from household members. *!! The number to concatenate is sensitive to the number of members in the household. Please adapt if necessary. STRING MARCPL18list (A120). COMPUTE MARCPL18list = CONCAT(LTRIM(STRING(MARCPL18.1,F2)), ",", LTRIM(STRING(MARCPL18.2,F2)), ",", LTRIM(STRING(MARCPL18.3,F2)), ",", LTRIM(STRING(MARCPL18.4,F2)), ",", LTRIM(STRING(MARCPL18.5,F2)), ",", LTRIM(STRING(MARCPL18.6,F2)), ",", LTRIM(STRING(MARCPL18.7,F2)), ",", LTRIM(STRING(MARCPL18.8,F2)), ",", LTRIM(STRING(MARCPL18.9,F2)), ",", LTRIM(STRING(MARCPL18.10,F2))). EXECUTE. ** Clean this var erase 'empty information'. compute MARCPL18list = replace(rtrim(MARCPL18list),',.',' '). execute. ** B.12.4. Identify households with at least one married couple. COMPUTE MARCPLinHH18 = (CHAR.RINDEX(lower(ltrim(rtrim(MARCPL18list))),lower(ltrim(rtrim("1"))))>0). formats MARCPLinHH18 (f1). execute. ** B.12.5. Merge variables. DELETE VARIABLES MARCPL18.1 TO MARCPL18.10. DATASET ACTIVATE SHP18s. MATCH FILES /FILE= * /TABLE=ProvData2 /by IDHOUS18. EXECUTE. DATASET CLOSE ProvData2. *** B.13 **** � HLDCOMP18 - Create a variable that resume the household composition ****. * considers the types of household (HHcode18) and whether there is a married couple in the household (MARCPLinHH18). COMPUTE HLDCOMP18 =-9. IF(HHcode18="0") HLDCOMP18=1. IF(HHcode18="1,4") HLDCOMP18=2. IF(HHcode18="2" AND MARCPLinHH18=1) HLDCOMP18=3. IF(HHcode18="2" AND MARCPLinHH18=0) HLDCOMP18=4. IF(HHcode18="1,3" AND MARCPLinHH18=1) HLDCOMP18=5. IF(HHcode18="1,3" AND MARCPLinHH18=0) HLDCOMP18=6. IF(HHcode18="1,5" AND MARCPLinHH18=1) HLDCOMP18=7. IF(HHcode18="1,5" AND MARCPLinHH18=0) HLDCOMP18=8. IF(HHcode18="1,6" AND MARCPLinHH18=1) HLDCOMP18=9. IF(HHcode18="1,6" AND MARCPLinHH18=0) HLDCOMP18=10. IF(HHcode18="other I") HLDCOMP18=11. IF(HHcode18="0,0") HLDCOMP18=12. VARIABLE LABELS HLDCOMP18 "Household composition: conjugal and parental relationships". VALUE LABELS HLDCOMP18 1 "One-person household" 2 "One Parent with child(ren) (+other)" 3 "Married couple without child (+other)" 4 "Unmarried couple without child (+other)" 5 "Married couple with common child(ren) (+other)" 6 "Unmarried couple with common child(ren) (+other)" 7 "Married couple with child(ren) from previous relationship (+other)" 8 "Unmarried couple with child(ren) from previous relationship (+other)" 9 "Married couple with children from previous & current relationship (+other)" 10 "Unmarried couple with children from previous & current relationship (+other)" 11 "Other types I: with some parental, conjugal, filial relationships" 12 "Other types II: without any parental, conjugal, or filial relationships". FORMATS HLDCOMP18 (F2.0). Execute. ***** C. SAVE FILES *** C.1 save file on the individual level with all variables included. SAVE OUTFILE='[...]\SHP18s.sav' /COMPRESSED. *** C.2. aggregate to household level and keep only IDHOUS18 and HLDCOMP18 (N=6029). RENAME VARIABLES HLDCOMP18=HLDCOMP18_. DATASET DECLARE SHP18s_hld. AGGREGATE /OUTFILE='SHP18s_hld' /BREAK=IDHOUS18 /HLDCOMP18=MEAN(HLDCOMP18_). DATASET ACTIVATE SHP18s_hld. VARIABLE LABELS HLDCOMP18 "Household composition: conjugal and parental relationships". VALUE LABELS HLDCOMP18 1 "One-person household" 2 "One Parent with child(ren) (+other)" 3 "Married couple without child (+other)" 4 "Unmarried couple without child (+other)" 5 "Married couple with common child(ren) (+other)" 6 "Unmarried couple with common child(ren) (+other)" 7 "Married couple with child(ren) from previous relationship (+other)" 8 "Unmarried couple with child(ren) from previous relationship (+other)" 9 "Married couple with children from previous & current relationship (+other)" 10 "Unmarried couple with children from previous & current relationship (+other)" 11 "Other types I: with some parental, conjugal, filial relationships" 12 "Other types II: without any parental, conjugal, or filial relationships". FORMATS HLDCOMP18 (F2.0). Execute. SAVE OUTFILE='[...]\SHP18s_hld.sav' /COMPRESSED. ****** END OF PROCEDURE *****.