#Productivity Commission 2018 analysis for the Rising Inequality? Commission Research Paper #Script for HES variable construction #Must run 1_HES_setup_and_data first ########################################################################### ## CONSTRUCT BASIC VARIABLES ########################################################################### #generate HES year variables in each dataframe HESP <- HESP %>% mutate(year = case_when(year_id==1 ~ 1989, year_id==2 ~ 1994, year_id==3 ~ 1999, year_id==4 ~ 2004, year_id==5 ~ 2010, year_id==6 ~ 2016)) HESP <- within(HESP,rm(year_id)) HESH<- HESH %>% mutate(year = case_when(year_id==1 ~ 1989, year_id==2 ~ 1994, year_id==3 ~ 1999, year_id==4 ~ 2004, year_id==5 ~ 2010, year_id==6 ~ 2016)) HESH<-within(HESH,rm(year_id)) HESE<- HESE %>% mutate(year = case_when(year_id==1 ~ 1989, year_id==2 ~ 1994, year_id==3 ~ 1999, year_id==4 ~ 2004, year_id==5 ~ 2010, year_id==6 ~ 2016)) HESE<-within(HESE,rm(year_id)) #generate CPI multipler variable to convert to 2016-17 dollars (see CPI calculations spreadsheet in data folder) CPI <- read_excel(here("CPI.xlsx"),sheet="Deflators") HESH<-left_join(HESH,CPI, by="year") HESP<-left_join(HESP,CPI, by="year") HESE<-left_join(HESE,CPI, by="year") #use code below to set deflators to 1 for nominal values # HESH <- HESH %>% mutate(deflator = 1) # HESP <- HESP %>% mutate(deflator = 1) # HESE <- HESE %>% mutate(deflator = 1) ##generate weight variables #household weight HESH <- HESH %>% mutate(hhwt = case_when(year==1989 ~ WEIGHTHH/10000, year==1994 ~ wth/10000, year==1999 ~ WT/10000, year==2004 ~ HESHHWT, year==2010 ~ HESHHWT, year==2016 ~ HESHHWT)) #person weight HESP <- HESP %>% mutate(pswt = case_when(year==1989 ~ round(WTPERSNP/10000), year==1994 ~ round(wtp/10000), year==1999 ~ round(WTP/10000), year==2004 ~ round(HESPSWT), year==2010 ~ round(HESPSWT), year==2016 ~ round(HESPSWT))) ##generate variables for household equivalisation #generate nphh (number of persons in household) HESH <- HESH %>% mutate(nphh = case_when(year==1989 ~ NRPSNSHH, year==1994 ~ dnmal+ dnfem, year==1999 ~ MALESHH+ FEMSHH, year==2004 ~ PERSHBC, year==2010 ~ PERSHBC, year==2016 ~ PERSHBC)) #generate nchh (number of children in household under 15) HESH <- HESH %>% mutate(nchh = case_when(year==1989 ~ PSNSU2+ PSNS4+ PSNS12+ PSNS14, year==1994 ~ d1age+ d2age+ d3age+ d4age, year==1999 ~ D1AGE+D2AGE+D3AGE+D4AGE+D5AGE, year==2004 ~ nphh - NOMEMHBC, year==2010 ~ nphh - NOMEMHBC, year==2016 ~ nphh - NOMEMHBC)) #generate nahh (number of adults in household under 15) HESH<-HESH %>% mutate(nahh = nphh-nchh) #generate ABS household equivlisation variable (1 point to first adult, 0.5 points each additional person age>=15, 0.3 points each child age<15) HESH<-HESH %>% mutate(ABS_eq = 1+(nahh-1)*.5+nchh*.3) #generate OECD square root household equivlisation variable (square root of number of people in household) HESH <- HESH %>% mutate(square_root_eq = sqrt(nphh)) #generate variable for days in year - useful later when converting weekly figures to yearly figures HESH <- HESH %>% mutate(days_in_year=case_when(year==1989 ~ 365, year==1994 ~ 365, year==1999 ~ 365, year==2004 ~ 366, year==2010 ~ 365, year==2016 ~ 366)) HESP <- HESP %>% mutate(days_in_year=case_when(year==1989 ~ 365, year==1994 ~ 365, year==1999 ~ 365, year==2004 ~ 366, year==2010 ~ 365, year==2016 ~ 366)) ####################################################################### #### CONSTRUCT INCOME VARIABLES ####################################################################### ##generate CPI adjusted personal income variables #personal wage income HESP <- HESP %>% mutate(wage_inc_pers = case_when(year==1989 ~ X01WS, year==1994 ~ i01wsp, year==1999 ~ I01WSP, year==2004 ~ IWSUCP, year==2010 ~ IWSSUCP8, year==2016 ~ IWSSUCP8)) HESP<-HESP %>% mutate(wage_inc_pers = wage_inc_pers*deflator) #personal labour income (self-employed income + wage income) HESP <- HESP %>% mutate(lab_inc_pers = case_when(year==1989 ~ X02OB + X01WS, year==1994 ~ i02obp + i01wsp, year==1999 ~ I02OBP + I01WSP, year==2004 ~ IOBTCP + IWSUCP, year==2010 ~ IOBTCP + IWSSUCP8, year==2016 ~ IOBTCP + IWSSUCP8)) HESP <- HESP %>% mutate(lab_inc_pers = lab_inc_pers*deflator) #personal market income (labour income + capital income) HESH <- HESH %>% mutate(priv_inc = case_when(year==1989 ~ PINC, year==1994 ~ pinc, year==1999 ~ PINC, year==2004 ~ PINC, year==2010 ~ (INCTSCH8-DBEN), year==2016 ~ (INCTSCH8-DBEN))) HESH<-HESH %>% mutate(priv_inc = priv_inc*deflator) #personal gross income (market income + direct govt payments) HESP <- HESP %>% mutate(gross_inc_pers = case_when(year==1989 ~ XTOTINCP, year==1994 ~ itincp, year==1999 ~ ITINCP, year==2004 ~ INCTOTCP, year==2010 ~ INCTSCP8, year==2016 ~ INCTSCP8)) HESP <- HESP %>% mutate(gross_inc_pers = gross_inc_pers*deflator) #personal disposable income (gross income - direct government taxes) HESP <- HESP %>% mutate(disp_inc_pers = case_when(year==1989 ~ XTOTINCP - PTAX, year==1994 ~ itincp - ptax, year==1999 ~ ITINCP - PTAX, year==2004 ~ INCTOTCP - ITAXCP, year==2010 ~ INCTSCP8 - ITAXCP8, year==2016 ~ DISPSCP8)) HESP <- HESP %>% mutate(disp_inc_pers = disp_inc_pers*deflator) ##generate CPI adjusted household income variables #household wage income HESH <- HESH %>% mutate(wage_inc = case_when(year==1989 ~ I01WSHH, year==1994 ~ ihhws, year==1999 ~ IHHWS, year==2004 ~ IWSUCH, year==2010 ~ IWSUCH8, year==2016 ~ IWSUCH8)) HESH<-HESH %>% mutate(wage_inc = wage_inc*deflator) #household labour income (self-employed income + wage income) HESH <- HESH %>% mutate(lab_inc = case_when(year==1989 ~ I02OBHH+I01WSHH, year==1994 ~ ihhob+ihhws, year==1999 ~ IHHOB+IHHWS, year==2004 ~ IOBTCH+IWSUCH, year==2010 ~ IOBTCH+IWSUCH8, year==2016 ~ IOBTCH+IWSUCH8)) HESH<-HESH %>% mutate(lab_inc = lab_inc*deflator) #household market income (labour income + capital income) HESH <- HESH %>% mutate(priv_inc = case_when(year==1989 ~ PINC, year==1994 ~ pinc, year==1999 ~ PINC, year==2004 ~ PINC, year==2010 ~ (INCTSCH8-DBEN), year==2016 ~ (INCTSCH8-DBEN))) HESH<-HESH %>% mutate(priv_inc = priv_inc*deflator) #household gross income (market income + direct govt payments) HESH <- HESH %>% mutate(gross_inc = case_when(year==1989 ~ TOTINCHH, year==1994 ~ itinc, year==1999 ~ ITINC, year==2004 ~ INCTOTCH, year==2010 ~ INCTSCH8, year==2016 ~ INCTSCH8)) HESH<-HESH %>% mutate(gross_inc = gross_inc*deflator) #household disposable income (gross income - direct government taxes) HESH <- HESH %>% mutate(disp_inc = case_when(year==1989 ~ DINC, year==1994 ~ dinc, year==1999 ~ DINC, year==2004 ~ DISPCH, year==2010 ~ (INCTSCH8-EXP14), year==2016 ~ DISPSCH8)) #(INCTSCH8-EXP16) HESH<-HESH %>% mutate(disp_inc = disp_inc*deflator) #household final income (disp income + indirect benefits - indirect taxes) HESH <- HESH %>% mutate(fin_inc = case_when(year==1989 ~ FINC, year==1994 ~ finc, year==1999 ~ FINC, year==2004 ~ FINC, year==2010 ~ (INCTSCH8-EXP14+IBEN-TOTITAX), year==2016 ~ (INCTSCH8-EXP16+IBEN-TOTITAX))) HESH<-HESH %>% mutate(fin_inc = fin_inc*deflator) ## household income components #self-employed income HESH <- HESH %>% mutate(selfemp_inc = lab_inc - wage_inc) #capital income HESH <- HESH %>% mutate(cap_inc = priv_inc - lab_inc) #direct government payments (gross transfers) HESH <- HESH %>% mutate(trans_inc = gross_inc - priv_inc) #direct government taxes HESH <- HESH %>% mutate(inc_tax = disp_inc - gross_inc) ##transfer components #age-related transfers HESP <- HESP %>% mutate(age_trans = case_when(year==1989 ~ (X03AP + X05WP + X08VA), year==1994 ~ (i03app + i05wpp + i08vap), year==1999 ~ (I03APP + I05WPP + I08VAP), year==2004 ~ (IAGECP + IWARWCP + IWIDOWCP + ISERVCP), year==2010 ~ (IAGECP + IWARWCP + IWIDOWCP + ISERVCP + ISSUPCP), year==2016 ~ (IAGECP + IWARWCP + IWIDOWCP + ISERVCP))) #age pension transfers only HESP <- HESP %>% mutate(age_trans_pension = case_when(year==1989 ~ (X03AP), year==1994 ~ (i03app), year==1999 ~ (I03APP), year==2004 ~ (IAGECP), year==2010 ~ (IAGECP), year==2016 ~ (IAGECP))) #veterans pension only HESP <- HESP %>% mutate(age_trans_vet_pension = case_when(year==1989 ~ (X08VA), year==1994 ~ (i08vap), year==1999 ~ (I08VAP), year==2004 ~ (ISERVCP), year==2010 ~ (ISERVCP), year==2016 ~ (ISERVCP))) #age-related transfers other than age and veterans pension HESP <- HESP %>% mutate(age_trans_other = age_trans - age_trans_pension - age_trans_vet_pension) #disability-related transfers HESP <- HESP %>% mutate(disability_trans = case_when(year==1989 ~ (X04IP + X07SB), year==1994 ~ (i04dsp + i07sbp), year==1999 ~ (I04DSP + I07SBP), year==2004 ~ (IDISBCP + IDSUPPCP + ISICKCP), year==2010 ~ (IDISBCP + IDSUPPCP + ISICKCP), year==2016 ~ (IDISBCP + IDSUPPCP + ISICKCP))) #carer transfers HESP <- HESP %>% mutate(carer_trans = case_when(year==1989 ~ (X10VP), year==1994 ~ (i10vpp + i30cpp), year==1999 ~ (I10VPP), year==2004 ~ (ICAREACP + ICAREPCP + IOOCBCP + IWIFECP), year==2010 ~ (ICAREACP + ICAREPCP + IWIFECP), year==2016 ~ (ICAREACP + ICAREPCP + ICARESCP + IWIFECP))) #student transfers HESP <- HESP %>% mutate(student_trans = case_when(year==1989 ~ (X12SA), year==1994 ~ (i25gsp + i32asp + i31aup), year==1999 ~ (I24TSP + I32ASP + I31AUP + I06YAP), year==2004 ~ (SFSSCP + IAUSTCP + IYOUTHCP), year==2010 ~ (IAUSTCP + IYOUTHCP), year==2016 ~ (IAUSTCP + IYOUTHCP))) #working-age transfers HESP <- HESP %>% mutate(working_trans = case_when(year==1989 ~ (X06UB), year==1994 ~ (i06nsp), year==1999 ~ (I06NSP), year==2004 ~ (INEWLSCP), year==2010 ~ (INEWLSCP), year==2016 ~ (INEWLSCP))) #family-related transfers HESP <- HESP %>% mutate(family_trans = case_when(year==1989 ~ (X09SP + XX11FA), year==1994 ~ (i09spp + i11fpp), year==1999 ~ (I09SPP + I11FPP), year==2004 ~ (IPARENCP + IFAMTBCP + IOOPFCP), year==2010 ~ (IPARENCP + IFTBCP8 + IMATCP), year==2016 ~ (IPARENCP + IPPLCP + IDPPLCP + IFAMLSCP + ISCHPCP))) #parenting payment transfers HESP <- HESP %>% mutate(family_trans_parenting = case_when(year==1989 ~ (X09SP), year==1994 ~ (i09spp), year==1999 ~ (I09SPP), year==2004 ~ (IPARENCP), year==2010 ~ (IPARENCP), year==2016 ~ (IPARENCP))) #family allowance HESP <- HESP %>% mutate(family_trans_allowance = case_when(year==1989 ~ (XX11FA), year==1994 ~ (i11fpp), year==1999 ~ (I11FPP), year==2004 ~ (0), year==2010 ~ (0), year==2016 ~ (0))) #family tax benefit HESP <- HESP %>% mutate(family_trans_FTB = case_when(year==1989 ~ (0), year==1994 ~ (0), year==1999 ~ (0), year==2004 ~ (IFAMTBCP), year==2010 ~ (IFTBCP8), year==2016 ~ (IFAMLSCP))) #one-off family transfers HESP <- HESP %>% mutate(family_trans_one_off = case_when(year==1989 ~ (0), year==1994 ~ (0), year==1999 ~ (0), year==2004 ~ (IOOPFCP), year==2010 ~ (IMATCP), year==2016 ~ (ISCHPCP))) #other family transfers HESP <- HESP %>% mutate(family_trans_other = case_when(year==1989 ~ (0), year==1994 ~ (0), year==1999 ~ (0), year==2004 ~ (0), year==2010 ~ (0), year==2016 ~ (IPPLCP + IDPPLCP))) #other transfers not easily categorised in above groups (age, disability, carer, student, working, family) HESP <- HESP %>% mutate(uncategorised_trans = case_when(year==1989 ~ (X13OG), year==1994 ~ (i13ogp), year==1999 ~ (I13OGP + MATAGEP), year==2004 ~ (IOTHPCP + IMATUCP + IPARTNCP + ISPECCP), year==2010 ~ (IOTHPCP + IPARTNCP + ISPECCP + IUTILCP + IPSUPCP), year==2016 ~ (IOTHPCP + IPARTNCP + ISPECCP + IUTILCP + IPSUPCP + ICEACP))) #Deflate transfer components HESP<-HESP %>% mutate(age_trans = age_trans*deflator) HESP<-HESP %>% mutate(disability_trans = disability_trans*deflator) HESP<-HESP %>% mutate(carer_trans = carer_trans*deflator) HESP<-HESP %>% mutate(student_trans = student_trans*deflator) HESP<-HESP %>% mutate(working_trans = working_trans*deflator) HESP<-HESP %>% mutate(family_trans = family_trans*deflator) HESP<-HESP %>% mutate(uncategorised_trans = uncategorised_trans*deflator) HESP<-HESP %>% mutate(age_trans_pension = age_trans_pension*deflator) HESP<-HESP %>% mutate(age_trans_vet_pension = age_trans_vet_pension*deflator) HESP<-HESP %>% mutate(age_trans_other = age_trans_other*deflator) HESP<-HESP %>% mutate(family_trans_parenting = family_trans_parenting*deflator) HESP<-HESP %>% mutate(family_trans_allowance = family_trans_allowance*deflator) HESP<-HESP %>% mutate(family_trans_FTB = family_trans_FTB*deflator) HESP<-HESP %>% mutate(family_trans_one_off = family_trans_one_off*deflator) HESP<-HESP %>% mutate(family_trans_other = family_trans_other*deflator) #sum personal transfer components over households HESP_household_transfers <- HESP %>% group_by(ABSHID) %>% summarise(age_trans = sum(age_trans), disability_trans = sum(disability_trans), carer_trans = sum(carer_trans), student_trans = sum(student_trans), working_trans = sum(working_trans), family_trans = sum(family_trans), uncategorised_trans = sum(uncategorised_trans), age_trans_pension = sum(age_trans_pension), age_trans_vet_pension = sum(age_trans_vet_pension), age_trans_other = sum(age_trans_other), family_trans_parenting = sum(family_trans_parenting), family_trans_allowance = sum(family_trans_allowance), family_trans_FTB = sum(family_trans_FTB), family_trans_one_off = sum(family_trans_one_off), family_trans_other = sum(family_trans_other)) #add transfer components to HESH HESH <- left_join(HESH, HESP_household_transfers, by="ABSHID") ##generate household equivalised income variables #income variables HESH <- HESH %>% mutate(eq_lab_inc = lab_inc/ABS_eq) HESH <- HESH %>% mutate(eq_priv_inc = priv_inc/ABS_eq) HESH <- HESH %>% mutate(eq_gross_inc = gross_inc/ABS_eq) HESH <- HESH %>% mutate(eq_disp_inc = disp_inc/ABS_eq) HESH <- HESH %>% mutate(eq_fin_inc = fin_inc/ABS_eq) #income component variables HESH <- HESH %>% mutate(eq_wage_inc = wage_inc/ABS_eq) HESH <- HESH %>% mutate(eq_selfemp_inc = selfemp_inc/ABS_eq) HESH <- HESH %>% mutate(eq_cap_inc = cap_inc/ABS_eq) HESH <- HESH %>% mutate(eq_trans_inc = trans_inc/ABS_eq) HESH <- HESH %>% mutate(eq_inc_tax = inc_tax/ABS_eq) #alternative equivalisation for disposable income for compatability with recent OECD estimates HESH <- HESH %>% mutate(sqrt_eq_disp_inc = disp_inc/square_root_eq) #transfer component variables HESH <- HESH %>% mutate(eq_age_trans = age_trans/ABS_eq) HESH <- HESH %>% mutate(eq_disability_trans = disability_trans/ABS_eq) HESH <- HESH %>% mutate(eq_carer_trans = carer_trans/ABS_eq) HESH <- HESH %>% mutate(eq_student_trans = student_trans/ABS_eq) HESH <- HESH %>% mutate(eq_working_trans = working_trans/ABS_eq) HESH <- HESH %>% mutate(eq_family_trans = family_trans/ABS_eq) HESH <- HESH %>% mutate(eq_uncategorised_trans = uncategorised_trans/ABS_eq) HESH <- HESH %>% mutate(eq_age_trans_pension = age_trans_pension/ABS_eq) HESH <- HESH %>% mutate(eq_age_trans_vet_pension = age_trans_vet_pension/ABS_eq) HESH <- HESH %>% mutate(eq_age_trans_other = age_trans_other/ABS_eq) HESH <- HESH %>% mutate(eq_family_trans_parenting = family_trans_parenting/ABS_eq) HESH <- HESH %>% mutate(eq_family_trans_allowance = family_trans_allowance/ABS_eq) HESH <- HESH %>% mutate(eq_family_trans_FTB = family_trans_FTB/ABS_eq) HESH <- HESH %>% mutate(eq_family_trans_one_off = family_trans_one_off/ABS_eq) HESH <- HESH %>% mutate(eq_family_trans_other = family_trans_other/ABS_eq) ##Convert key variables to yearly # personal income variables HESP<-HESP %>% mutate(yearly_disp_inc_pers = disp_inc_pers*days_in_year/7) HESP<-HESP %>% mutate(yearly_wage_inc_pers = wage_inc_pers*days_in_year/7) HESP<-HESP %>% mutate(yearly_lab_inc_pers = lab_inc_pers*days_in_year/7) HESP<-HESP %>% mutate(yearly_gross_inc_pers = gross_inc_pers*days_in_year/7) # household income variables HESH<-HESH %>% mutate(eq_yearly_disp_inc = eq_disp_inc*days_in_year/7) HESH<-HESH %>% mutate(sqrt_eq_yearly_disp_inc = sqrt_eq_disp_inc*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_wage_inc = eq_wage_inc*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_lab_inc = eq_lab_inc*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_gross_inc = eq_gross_inc*days_in_year/7) #income component variables HESH<-HESH %>% mutate(eq_yearly_selfemp_inc = eq_selfemp_inc*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_cap_inc = eq_cap_inc*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_trans_inc = eq_trans_inc*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_inc_tax = eq_inc_tax*days_in_year/7) #transfer component variables HESH<-HESH %>% mutate(eq_yearly_age_trans = eq_age_trans*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_disability_trans = eq_disability_trans*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_carer_trans = eq_carer_trans*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_student_trans = eq_student_trans*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_working_trans = eq_working_trans*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_family_trans = eq_family_trans*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_uncategorised_trans = eq_uncategorised_trans*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_age_trans_pension = eq_age_trans_pension*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_age_trans_vet_pension = eq_age_trans_vet_pension*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_age_trans_other = eq_age_trans_other*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_family_trans_parenting = eq_family_trans_parenting*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_family_trans_allowance = eq_family_trans_allowance*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_family_trans_FTB = eq_family_trans_FTB*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_family_trans_one_off = eq_family_trans_one_off*days_in_year/7) HESH<-HESH %>% mutate(eq_yearly_family_trans_other = eq_family_trans_other*days_in_year/7) #generate variable in HESH for other transfers HESH <- HESH %>% mutate(eq_yearly_other_trans = eq_yearly_trans_inc - (eq_yearly_age_trans + eq_yearly_disability_trans + eq_yearly_carer_trans + eq_yearly_student_trans + eq_yearly_working_trans + eq_yearly_family_trans)) #Attach household income variables to person file for later use HESH_income <- HESH %>% select(ABSHID, year, eq_yearly_disp_inc, eq_yearly_cap_inc, eq_yearly_lab_inc, eq_yearly_gross_inc) HESP <- left_join(HESP,HESH_income, by = c("year","ABSHID")) ####################################################################### #### CONSTRUCT CONSUMPTION VARIABLES ####################################################################### #Create consistent variable in HESE for commodity code HESE <- HESE %>% mutate(comm_code = case_when(year==1989 ~ COMM, year==1994 ~ COMCODE, year==1999 ~ COMCOD10, year==2004 ~ COMCODE, year==2010 ~ COMCODE, year==2016 ~ COMCODE)) #Create consistent variable in HESE for expenditure value HESE <- HESE %>% mutate(exp = case_when(year==1989 ~ (EXP/100), year==1994 ~ (EXPVALUE/100), year==1999 ~ (SUMEXP/100), year==2004 ~ WKLYEXP, year==2010 ~ WKLYEXP, year==2016 ~ WKLYEXP)) #Inflate expenditure values to 2016-17 dollars HESE <- HESE %>% mutate(exp=exp*deflator) #Create variable for all goods and services expenditure HESE_goods_exp <- HESE %>% filter(((year == 1989 | year== 1994) & comm_code < 751) | ((year == 1999 | year == 2004 | year == 2010) & comm_code < 1401010101) | (year == 2016 & comm_code < 1601010101)) %>% select(year, ABSHID, comm_code, exp) %>% group_by(year, ABSHID) %>% summarise(goods_exp=sum(exp)) HESH <- left_join(HESH,HESE_goods_exp, by = c("year","ABSHID")) #Create variable for goods and services expenditure excluding current housing costs and interest payments on non-housing loans HESE_cons_exp <- HESE %>% filter(((year == 1989 | year== 1994) & (comm_code > 109 & comm_code < 708 | comm_code > 710 & comm_code < 718 | comm_code > 719 & comm_code < 751 )) | ((year == 1999 | year == 2004 | year == 2010) & (comm_code > 0101070201 & comm_code < 1302010101 | comm_code > 1302010401 & comm_code < 1302040001 | comm_code > 1302049999 & comm_code < 1401010101)) | (year == 2016 & ( comm_code > 0101070201 & comm_code < 1502010101 | comm_code > 1502049999 & comm_code < 1601010101))) %>% select(year, ABSHID, comm_code, exp) %>% group_by(year, ABSHID) %>% summarise(cons_exp=sum(exp)) HESH <- left_join(HESH,HESE_cons_exp, by = c("year","ABSHID")) #Create consistent variable for rent expense HESE_rent <- HESE %>% filter(((year == 1989 | year== 1994) & comm_code == 101) | ((year == 1999 | year == 2004 | year == 2010 | year==2016) & comm_code == 101010101)) %>% select(year, ABSHID, comm_code, exp) %>% group_by(year, ABSHID) %>% summarise(rent=sum(exp)) HESH <- left_join(HESH,HESE_rent, by = c("year","ABSHID")) HESH <- HESH %>% mutate(rent = rent*deflator) #Create variable for estimated sales price of dwelling HESH <- HESH %>% mutate(home_value=case_when(year==1989 ~ NA_real_, year==1994 ~ dwval, year==1999 ~ DWVAL, year==2004 ~ HVALUECH, year==2010 ~ HVALUECH, year==2016 ~ HVALUECH)) HESH<-HESH %>% mutate(home_value = home_value*deflator) #Create variable for weekly gross imputed rent HESH<-HESH %>% mutate(gross_imputed_rent = ((home_value*0.05) / days_in_year) *7) #Gross imputed rent with actual rent for renters HESH <- HESH %>% mutate(adjusted_gross_imputed_rent = case_when(rent>0 ~ rent, TRUE ~ gross_imputed_rent)) #total In-kind social transfers variable - *leave out 1989 because it does not include child care benefits* HESH <- HESH %>% mutate(inkind_trans=case_when(year==1989 ~ NA_real_, # year==1989 ~ (EDUB+UHLTOT+HWELB+UHSEB1)/100, year==1994 ~ (edub+uhltot+hwelb+uhseb1+totalccb)/100, year==1999 ~ (EDUB+UHLTOT+HWELB+UHSEB1+TOTALCCB)/100, year==2004 ~ EDUB+UHLTOT+HWELB+UHSEB1+WKLYCCB, year==2010 ~ EDUB+UHLTOT+HWELB+UHSEB1+WKLYCCA, year==2016 ~ EDUB+UHLTOT+HWELB+UHSEB1+WKLYCCAH)) ###Components of in-kind transfers #Education HESH <- HESH %>% mutate(inkind_educ=case_when(year==1989 ~ (EDUB)/100, year==1994 ~ (edub)/100, year==1999 ~ (EDUB)/100, year==2004 ~ EDUB, year==2010 ~ EDUB, year==2016 ~ EDUB)) #Health HESH <- HESH %>% mutate(inkind_health=case_when(year==1989 ~ (UHLTOT)/100, year==1994 ~ (uhltot)/100, year==1999 ~ (UHLTOT)/100, year==2004 ~ UHLTOT, year==2010 ~ UHLTOT, year==2016 ~ UHLTOT)) #Welfare (excluding child care) HESH <- HESH %>% mutate(inkind_welfare=case_when(year==1989 ~ (HWELB)/100, year==1994 ~ (hwelb)/100, year==1999 ~ (HWELB)/100, year==2004 ~ HWELB, year==2010 ~ HWELB, year==2016 ~ HWELB)) #Government renters HESH <- HESH %>% mutate(inkind_govt_rent=case_when(year==1989 ~ (UHSEB1)/100, year==1994 ~ (uhseb1)/100, year==1999 ~ (UHSEB1)/100, year==2004 ~ UHSEB1, year==2010 ~ UHSEB1, year==2016 ~ UHSEB1)) #Child care benefits HESH <- HESH %>% mutate(inkind_childcare=case_when(year==1989 ~ NA_real_, year==1994 ~ (totalccb)/100, year==1999 ~ (TOTALCCB)/100, year==2004 ~ WKLYCCB, year==2010 ~ WKLYCCA, year==2016 ~ WKLYCCAH)) ###Apply CPI deflator to in-kind transfer total and components HESH<-HESH %>% mutate(inkind_trans = inkind_trans*deflator) HESH<-HESH %>% mutate(inkind_educ = inkind_educ*deflator) HESH<-HESH %>% mutate(inkind_health = inkind_health*deflator) HESH<-HESH %>% mutate(inkind_welfare = inkind_welfare*deflator) HESH<-HESH %>% mutate(inkind_govt_rent = inkind_govt_rent*deflator) HESH<-HESH %>% mutate(inkind_childcare = inkind_childcare*deflator) #total consumption HESH <- HESH %>% mutate(cons = ifelse(year==1989, NA_real_, cons_exp + adjusted_gross_imputed_rent + inkind_trans)) HESH %>% group_by(year) %>% summarise(weighted_mean=wtd.mean(cons,hhwt)) #total consumption without inkind transfers HESH <- HESH %>% mutate(cons_no_inkind = ifelse(year == 1989, NA_real_, cons_exp + adjusted_gross_imputed_rent)) HESH %>% group_by(year) %>% summarise(weighted_mean=wtd.mean(cons_no_inkind,hhwt)) #consumption expenditure HESH %>% group_by(year) %>% summarise(weighted_mean=wtd.mean(cons_exp,hhwt)) #Convert key variables to equivalised HESH <- HESH %>% mutate(eq_cons = cons/ABS_eq) HESH <- HESH %>% mutate(eq_cons_no_inkind = cons_no_inkind/ABS_eq) HESH <- HESH %>% mutate(eq_cons_exp = cons_exp/ABS_eq) HESH <- HESH %>% mutate(eq_inkind_trans = inkind_trans/ABS_eq) HESH <- HESH %>% mutate(eq_inkind_educ = inkind_educ/ABS_eq) HESH <- HESH %>% mutate(eq_inkind_health = inkind_health/ABS_eq) HESH <- HESH %>% mutate(eq_inkind_welfare = inkind_welfare/ABS_eq) HESH <- HESH %>% mutate(eq_inkind_govt_rent = inkind_govt_rent/ABS_eq) HESH <- HESH %>% mutate(eq_inkind_childcare = inkind_childcare/ABS_eq) HESH <- HESH %>% mutate(eq_inkind_trans = inkind_trans/ABS_eq) HESH <- HESH %>% mutate(eq_adjusted_gross_imputed_rent = adjusted_gross_imputed_rent/ABS_eq) #Convert key variables to yearly HESH <- HESH %>% mutate(eq_yearly_cons = eq_cons*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_cons_no_inkind = eq_cons_no_inkind*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_cons_exp = eq_cons_exp*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_inkind_trans = eq_inkind_trans*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_inkind_educ = eq_inkind_educ*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_inkind_health = eq_inkind_health*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_inkind_welfare = eq_inkind_welfare*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_inkind_govt_rent = eq_inkind_govt_rent*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_inkind_childcare = eq_inkind_childcare*days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_inkind_trans = eq_inkind_trans * days_in_year/7) HESH <- HESH %>% mutate(eq_yearly_adjusted_gross_imputed_rent = eq_adjusted_gross_imputed_rent * days_in_year/7) #delete observations (handful of each ) with negative final and private consumption (keep NAs because 1989 is all NAs) HESH <- HESH %>% filter( is.na(eq_yearly_cons) | eq_yearly_cons >= 0, is.na(eq_yearly_cons_no_inkind) | eq_yearly_cons_no_inkind >= 0 ) #Attach household consumption variables to person file HESH_cons <- HESH %>% select(ABSHID, year, eq_yearly_cons, eq_yearly_cons_no_inkind) HESP <- left_join(HESP,HESH_cons, by = c("year","ABSHID")) ####################################################################### #### CONSTRUCT SAVINGS VARIABLES ####################################################################### HESH <- HESH %>% mutate(savings = disp_inc - cons_exp - rent) HESH <- HESH %>% mutate(eq_savings = savings/ABS_eq) HESH <- HESH %>% mutate(eq_yearly_savings = eq_savings * days_in_year/7) ####################################################################### #### CONSTRUCT WEALTH VARIABLES ####################################################################### #Create consistent variable for total net wealth HESH <- HESH %>% mutate(wealth = case_when(year==1989 ~ 0, year==1994 ~ 0, year==1999 ~ 0, year==2004 ~ WEALTHH, year==2010 ~ (VFINCH + VSHARCH + VSUPGCH + VSUPNCH + VUBUSCH + VDEBCH + VPLNCH + VINVOTCH + VRPRCH + VNRPRCH + VCONTCH + VVEHICH + VOTASSCH + HVALUECH + VPUTCH + VIBUSCH + VPRTCH + VSIPCH + VCHASSCH) - ( LIASFSCH + LIARPCH + LIAINVCH + LIAHECCH + LIACCCH + LIAOTCH + LIAVECH + LIASDCH + LIAOPCH), year==2016 ~ WEALTHH)) #Inflate wealth values to 2016-17 dollars HESH <- HESH %>% mutate(wealth=wealth*deflator) #Convert key variables to equivalised HESH <- HESH %>% mutate(eq_wealth = wealth/ABS_eq) #Variable for no negative wealth HESH <- HESH %>% mutate(eq_wealth_no_neg = case_when(eq_wealth<0 ~ 0, TRUE ~ eq_wealth)) ##wealth components #bank wealth HESH <- HESH %>% mutate(bank = ifelse(year==2016,(VFINCH+VOFTCH),VFINCH)) #equity and cash wealth HESH <- HESH %>% mutate(equity_and_cash = (VSHARCH + VDEBCH + VPLNCH + VINVOTCH)) #trust funds HESH <- HESH %>% mutate(trust_funds = ifelse(year==2004,VTRTCH,(VPUTCH + VPRTCH + VSIPCH))) #super HESH <- HESH %>% mutate(super = (VSUPGCH + VSUPNCH)) #home HESH <- HESH %>% mutate(home = HVALUECH) #other property HESH <- HESH %>% mutate(other_property = (VRPRCH + VNRPRCH)) #vehicles HESH <- HESH %>% mutate(vehicles = VVEHICH) #business HESH <- HESH %>% mutate(business = (VIBUSCH + VUBUSCH)) #other assets HESH <- HESH %>% mutate(other_assets = VOTASSCH) #childrens assets HESH <- HESH %>% mutate(childrens_assets = VCHASSCH) # no children's assets for 2015-16 #contents HESH <- HESH %>% mutate(contents = VCONTCH) #home debt HESH <- HESH %>% mutate(home_debt = LIASDCH) #other property debt HESH <- HESH %>% mutate(other_property_debt = (LIARPCH + LIAOPCH)) #study debt HESH <- HESH %>% mutate(study_debt = (LIASFSCH + LIAHECCH)) #credit card debt HESH <- HESH %>% mutate(credit_card_debt = LIACCCH) #financial debt HESH <- HESH %>% mutate(financial_debt = LIAINVCH) #vehicle debt HESH <- HESH %>% mutate(vehicle_debt = LIAVECH) #other personal debt HESH <- HESH %>% mutate(other_personal_debt = LIAOTCH) ##Inflate wealth values to 2016-17 dollars HESH<-HESH %>% mutate(bank = bank * deflator) HESH<-HESH %>% mutate(equity_and_cash = equity_and_cash * deflator) HESH<-HESH %>% mutate(trust_funds = trust_funds * deflator) HESH<-HESH %>% mutate(super = super * deflator) HESH<-HESH %>% mutate(home = home * deflator) HESH<-HESH %>% mutate(other_property = other_property * deflator) HESH<-HESH %>% mutate(vehicles = vehicles * deflator) HESH<-HESH %>% mutate(business = business * deflator) HESH<-HESH %>% mutate(other_assets = other_assets * deflator) HESH<-HESH %>% mutate(childrens_assets = childrens_assets * deflator) HESH<-HESH %>% mutate(contents = contents * deflator) HESH<-HESH %>% mutate(home_debt = home_debt * deflator) HESH<-HESH %>% mutate(other_property_debt = other_property_debt * deflator) HESH<-HESH %>% mutate(study_debt = study_debt * deflator) HESH<-HESH %>% mutate(credit_card_debt = credit_card_debt * deflator) HESH<-HESH %>% mutate(financial_debt = financial_debt * deflator) HESH<-HESH %>% mutate(vehicle_debt = vehicle_debt * deflator) HESH<-HESH %>% mutate(other_personal_debt = other_personal_debt * deflator) ##generate household equivalised wealth variables HESH<-HESH %>% mutate(eq_bank = bank/ABS_eq) HESH<-HESH %>% mutate(eq_equity_and_cash = equity_and_cash/ABS_eq) HESH<-HESH %>% mutate(eq_trust_funds = trust_funds/ABS_eq) HESH<-HESH %>% mutate(eq_super = super/ABS_eq) HESH<-HESH %>% mutate(eq_home = home/ABS_eq) HESH<-HESH %>% mutate(eq_other_property = other_property/ABS_eq) HESH<-HESH %>% mutate(eq_vehicles = vehicles/ABS_eq) HESH<-HESH %>% mutate(eq_business = business/ABS_eq) HESH<-HESH %>% mutate(eq_other_assets = other_assets/ABS_eq) HESH<-HESH %>% mutate(eq_childrens_assets = childrens_assets/ABS_eq) HESH<-HESH %>% mutate(eq_contents = contents/ABS_eq) HESH<-HESH %>% mutate(eq_home_debt = home_debt/ABS_eq) HESH<-HESH %>% mutate(eq_other_property_debt = other_property_debt/ABS_eq) HESH<-HESH %>% mutate(eq_study_debt = study_debt/ABS_eq) HESH<-HESH %>% mutate(eq_credit_card_debt = credit_card_debt/ABS_eq) HESH<-HESH %>% mutate(eq_financial_debt = financial_debt/ABS_eq) HESH<-HESH %>% mutate(eq_vehicle_debt = vehicle_debt/ABS_eq) HESH<-HESH %>% mutate(eq_other_personal_debt = other_personal_debt/ABS_eq) ##Generate subtotal wealth variables #personal debt (new categorisation) HESH <- HESH %>% mutate(eq_personal_debt = (eq_study_debt + eq_credit_card_debt + eq_other_personal_debt)) #total financial investment assets HESH <- HESH %>% mutate(eq_financial_assets = ifelse(year==2016, eq_bank + eq_equity_and_cash + eq_trust_funds + eq_other_assets, eq_bank + eq_equity_and_cash + eq_trust_funds + eq_other_assets + eq_childrens_assets) ) # no childrens assests for 2016 ##Generate equity variables HESH<-HESH %>% mutate(eq_home_equity = eq_home - eq_home_debt) HESH<-HESH %>% mutate(eq_other_property_equity = eq_other_property - eq_other_property_debt) HESH<-HESH %>% mutate(eq_vehicle_equity = eq_vehicles - eq_vehicle_debt) HESH<-HESH %>% mutate(eq_financial_equity = eq_financial_assets - eq_financial_debt) HESH<-HESH %>% mutate(eq_personal_equity = eq_contents - eq_personal_debt) HESH<-HESH %>% mutate(eq_other = eq_wealth - eq_home_equity - eq_super) #Attach household wealth variables to person file HESH_wealth <- HESH %>% select(ABSHID, year, eq_wealth, eq_home, eq_home_equity) HESP <- left_join(HESP,HESH_wealth, by = c("year","ABSHID")) ########################################################## # CONSTRUCT DEMOGRAPHIC VARIABLES ########################################################## #Generate sex variable HESP <- HESP %>% mutate("sex" = case_when(year == 1989 ~ SEX, year == 1994 ~ sexpers, year == 1999 ~ SEXPERS, (year == 2004 | year == 2010 | year == 2016) ~ SEXP, TRUE ~ 0)) #Create age cohorts HESP <- HESP %>% mutate("15to24" = case_when((year == 1989 & AGEPSN > 1 & AGEPSN < 5) ~ 1, (year == 1994 & agepers2 > 0 & agepers2 < 3) ~ 1, (year == 1999 & AGEPERS > 0 & AGEPERS <5) ~ 1, ((year == 2004 | year==2010) & AGEBC > 0 & AGEBC <11) ~ 1, (year == 2016 & AGEEC > 0 & AGEEC < 25) ~ 1, TRUE ~ 0)) HESP <- HESP %>% mutate("25to34" = case_when((year == 1989 & AGEPSN > 4 & AGEPSN < 7) ~ 1, (year == 1994 & agepers2 > 2 & agepers2 < 5) ~ 1, (year == 1999 & AGEPERS > 4 & AGEPERS < 7) ~ 1, ((year == 2004 | year==2010) & AGEBC > 10 & AGEBC <13) ~ 1, (year == 2016 & AGEEC > 24 & AGEEC < 35) ~ 1, TRUE ~ 0)) HESP <- HESP %>% mutate("35to44" = case_when((year == 1989 & AGEPSN > 6 & AGEPSN < 9) ~ 1, (year == 1994 & agepers2 > 4 & agepers2 < 7) ~ 1, (year == 1999 & AGEPERS > 6 & AGEPERS < 9) ~ 1, ((year == 2004 | year==2010) & AGEBC > 12 & AGEBC <15) ~ 1, (year == 2016 & AGEEC > 34 & AGEEC < 45) ~ 1, TRUE ~ 0)) HESP <- HESP %>% mutate("45to54" = case_when((year == 1989 & AGEPSN > 8 & AGEPSN < 11) ~ 1, (year == 1994 & agepers2 > 6 & agepers2 < 9) ~ 1, (year == 1999 & AGEPERS > 8 & AGEPERS < 11) ~ 1, ((year == 2004 | year==2010) & AGEBC > 14 & AGEBC <17) ~ 1, (year == 2016 & AGEEC > 44 & AGEEC < 55) ~ 1, TRUE ~ 0)) HESP <- HESP %>% mutate("55to64" = case_when((year == 1989 & AGEPSN > 10 & AGEPSN < 13) ~ 1, (year == 1994 & agepers2 > 8 & agepers2 < 11) ~ 1, (year == 1999 & AGEPERS > 10 & AGEPERS < 13) ~ 1, ((year == 2004 | year==2010) & AGEBC > 16 & AGEBC <27) ~ 1, (year == 2016 & AGEEC > 54 & AGEEC < 65) ~ 1, TRUE ~ 0)) HESP <- HESP %>% mutate("65plus" = case_when((year == 1989 & AGEPSN > 12 & AGEPSN < 19) ~ 1, (year == 1994 & agepers2 > 10 & agepers2 < 16) ~ 1, (year == 1999 & AGEPERS > 12 & AGEPERS < 16) ~ 1, ((year == 2004 | year==2010) & AGEBC > 26 & AGEBC <31) ~ 1, (year == 2016 & AGEEC > 65 & AGEEC < 86) ~ 1, TRUE ~ 0)) HESP <- HESP %>% mutate(age_group = case_when( `15to24` == 1 ~ "15 to 24", `25to34` == 1 ~ "25 to 34", `35to44` == 1 ~ "35 to 44", `45to54` == 1 ~ "45 to 54", `55to64` == 1 ~ "55 to 64", `65plus` == 1 ~ "65+")) #HESP lacks persons under 15 so need to add #Generate under 15s variable from HESH HESH <- HESH %>% mutate("under15s" = case_when(year == 1989 ~ NRDEPS14 + NRDEPS12 + NRDEPS9 + NRDEPSU5, year == 1994 ~ d1age + d2age + d3age +d4age, year == 1999 ~ D1AGE + D2AGE + D3AGE + D4AGE + D5AGE, year == 2004 ~ NUMU15BC, year == 2010 ~ NUMU15BC, year == 2016 ~ NUMU15BC)) #Create birth year variable HESP <- HESP %>% mutate("age_code" = case_when(year == 1989 ~ AGEPSN, year == 1994 ~ agepers2, year == 1999 ~ AGEPERS, (year == 2004 | year==2010) ~ AGEBC, year == 2016 ~ AGEEC, TRUE ~ 0)) HESP <- HESP %>% mutate("birth_year" = case_when(year == 1989 ~ case_when(age_code == 1 ~ 1982, age_code == 2 ~ 1973, age_code == 3 ~ 1970, age_code == 4 ~ 1967, age_code > 4 ~ 1987 - age_code * 5, TRUE ~ 0), year == 1994 ~ case_when(age_code > 0 ~ 1982 - age_code * 5, TRUE ~ 0), year == 1999 ~ case_when(age_code == 1 ~ 1983, age_code == 2 ~ 1981, age_code == 3 ~ 1978, age_code == 4 ~ 1976, age_code > 4 ~ 1997 - age_code * 5, TRUE ~ 0), year == 2004 ~ case_when(age_code > 0 & age_code < 11 ~ 1990 - age_code, age_code > 10 & age_code < 17 ~ 2032 - age_code * 5, age_code > 16 & age_code < 27 ~ 1966 - age_code, age_code > 26 ~ 2072 - age_code * 5, TRUE ~ 0), year == 2010 ~ case_when(age_code > 0 & age_code < 11 ~ 1996 - age_code, age_code > 10 & age_code < 17 ~ 2038 - age_code * 5, age_code > 16 & age_code < 27 ~ 1972 - age_code, age_code > 26 ~ 2078 - age_code * 5, TRUE ~ 0), year == 2016 ~ case_when(age_code > 0 ~ 2016 - age_code, TRUE ~ 0), TRUE ~ 0)) #Create birth decade variable HESP <- HESP %>% mutate("birth_decade" = case_when(birth_year > 1939 & birth_year < 1950 ~ "1940s", birth_year > 1949 & birth_year < 1960 ~ "1950s", birth_year > 1959 & birth_year < 1970 ~ "1960s", birth_year > 1969 & birth_year < 1980 ~ "1970s", birth_year > 1979 & birth_year < 1990 ~ "1980s", birth_year > 1989 & birth_year < 2000 ~ "1990s", TRUE ~ NA_character_)) #Create mid-point age variable (only for use with birth variable) HESP <- HESP %>% mutate("age_midpoint" = year - birth_year) #Drop 1994 because no ABSHID in person file HESP_no94 <- HESP %>% filter(year!=1994) #Collapse HESP to one row per household HESP_collapsed <- HESP_no94 %>% group_by(year, ABSHID) %>% summarise("15to24" = sum(`15to24`), "25to34" = sum(`25to34`), "35to44" = sum(`35to44`), "45to54" = sum(`45to54`), "55to64" = sum(`55to64`), "65plus" = sum(`65plus`)) #Join HESP collapsed onto variables to new HESH dataset HESH <- left_join(HESH,HESP_collapsed,by= c("year","ABSHID")) #Generate variable for number of dependents HESH <- HESH %>% mutate(num_child_deps = case_when(year == 1989 ~ NRTTDEPS, year == 1994 ~ d6dep + d5dep + d4dep + d3dep + d2dep + d1dep, #Only includes dependents under 21 year == 1999 ~ DEPSHH, (year == 2004 | year==2010 | year==2016) ~ DPKIDHBC, TRUE ~ 0)) #Generate variable for number of employed persons HESH <- HESH %>% mutate(num_emp_pers = case_when(year == 1989 ~ EMPPSN, year == 1994 ~ dnwrk, year == 1999 ~ DNWRK, (year == 2004 | year==2010 | year==2016) ~ NOEMPHBC, TRUE ~ 0)) #Generate variable for number of persons on pension/benefits HESH <- HESH %>% mutate(num_pens_pers = case_when(year == 1989 ~ PENRECP, year == 1994 ~ dpcmp, year == 1999 ~ DPCMP, (year == 2004 | year==2010 | year==2016) ~ DPCMPBC, TRUE ~ 0)) #Generate variable for all household members over 65 HESH <- HESH %>% mutate(all_65plus = case_when(`65plus` > 0 & under15s == 0 & `15to24` == 0 & `25to34` == 0 & `35to44` == 0 & `45to54` == 0 & `55to64` == 0 ~ 1, TRUE ~ 0)) #Generate variable to categorise households HESH <- HESH %>% mutate(household_type = case_when(num_child_deps > 0 & num_emp_pers == 0 ~ "family_unemployed", num_child_deps > 0 & num_emp_pers == 1 ~ "family_employed_1", num_child_deps > 0 & num_emp_pers > 1 ~ "family_employed_2", num_child_deps == 0 & all_65plus == 1 & num_pens_pers > 0 & num_emp_pers == 0 ~ "retiree_pension", num_child_deps == 0 & all_65plus == 1 & num_pens_pers == 0 & num_emp_pers == 0 ~ "retiree_other", num_child_deps == 0 & num_emp_pers > 0 ~ "working_age_employed", num_child_deps == 0 & all_65plus == 0 & num_emp_pers == 0 ~ "working_age_unemployed", TRUE ~ NA_character_)) HESH <- HESH %>% mutate(household_type_aggregated = case_when(num_child_deps > 0 ~ "family", num_child_deps == 0 & all_65plus == 1 & num_emp_pers == 0 ~ "retiree", num_child_deps == 0 & (all_65plus == 0 | num_emp_pers > 0) ~ "working age", TRUE ~ NA_character_)) HESH <- HESH %>% mutate(household_type_poverty = case_when(household_type == "family_employed_1" | household_type == "family_employed_2" ~ "family_employed", household_type == "retiree_pension" | household_type == "retiree_other" ~ "retiree", TRUE ~ household_type)) ############################################################### ####### EXPAND HESH ############################################################## #Expand combined households df so one row = one person HESH_expanded <- expandRows(HESH,"nphh",count.is.col = TRUE, drop = FALSE) ############################################################### ####### CONSTRUCT POVERTY VARIABLES ############################################################## ####Indicator variables for variable below half median #Income HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(inc_poverty = ifelse(eq_yearly_disp_inc < (0.5 * wtd.quantile(eq_yearly_disp_inc, w = hhwt, probs=0.5)), 1 ,0)) %>% mutate(cons_no_inkind_poverty = ifelse(year==1989,NA_real_,ifelse(eq_yearly_cons_no_inkind < (0.5 * wtd.quantile(eq_yearly_cons_no_inkind, w = hhwt, probs = 0.5)), 1 ,0))) %>% mutate(cons_poverty = ifelse(year==1989, NA_real_, ifelse(eq_yearly_cons < (0.5 * wtd.quantile(eq_yearly_cons, w = hhwt, probs = 0.5)), 1 ,0))) %>% mutate(wealth_poverty = ifelse(year>1999, ifelse(eq_wealth < (0.5 * wtd.quantile(eq_wealth, w = hhwt, probs = 0.5)), 1 ,0), NA)) #Indicator variable for ABS definition of financial poverty HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(fin_poverty_ABS = ifelse(year>1999, ifelse(eq_yearly_disp_inc < (wtd.quantile(eq_yearly_disp_inc, w = hhwt, probs = 0.3)) & eq_wealth < (wtd.quantile(eq_wealth, w = hhwt, probs = 0.3)) & eq_yearly_cons_no_inkind < (wtd.quantile(eq_yearly_cons_no_inkind, w = hhwt, probs = 0.3)), 1 ,0), NA)) ##Indicator variable for Headey definition of financial poverty (using liquid assets less than 25% of poverty lines as filter) # total liquid assets HESH_expanded <- HESH_expanded %>% mutate(eq_liquid_assets = eq_equity_and_cash + eq_bank + ifelse(`65plus`>0,eq_super,0)) #Includes super if at least one member of the household is over 65. HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(fin_poverty_Headey_liquid_assets = ifelse(year>1999, ifelse(eq_yearly_disp_inc < (0.5 * weighted.quantile(eq_yearly_disp_inc, w = hhwt, probs = 0.5)) & eq_yearly_cons_no_inkind < (0.5 * weighted.quantile(eq_yearly_cons_no_inkind, w = hhwt, probs = 0.5)) & eq_liquid_assets < (0.25 * 0.5 * weighted.quantile(eq_yearly_disp_inc, w = hhwt, probs = 0.5)), 1 ,0), NA)) ####Indicator variables for variable below half of 1988-89 median (anchored relative poverty) #Income half_median_inc_89 <- HESH_expanded %>% group_by(year) %>% filter(year==1989) %>% summarise( half_median = 0.5 * wtd.quantile(eq_yearly_disp_inc, w = hhwt, probs=0.5)) half_median_inc_89 <- as.numeric(half_median_inc_89[,2]) HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(inc_poverty_anchored = ifelse(eq_yearly_disp_inc < half_median_inc_89, 1 ,0)) #Wealth half_median_wealth_04 <- HESH_expanded %>% group_by(year) %>% filter(year==2004) %>% summarise( half_median = 0.5 * wtd.quantile(eq_wealth, w = hhwt, probs=0.5)) half_median_wealth_04 <- as.numeric(half_median_wealth_04[,2]) HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(wealth_poverty_anchored = ifelse(year>1999, ifelse(eq_wealth < half_median_wealth_04, 1 ,0), NA)) ####Variables for relative poverty lines #Variable for half of median disposable income HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(inc_poverty_line = 0.5 * wtd.quantile(eq_yearly_disp_inc, w = hhwt, probs=0.5)) #Variable for half of median consumption (no inkind) HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(cons_no_inkind_poverty_line = ifelse(year == 1989, NA_real_, 0.5 * wtd.quantile(eq_yearly_cons_no_inkind, w = hhwt, probs=0.5))) #Variable for half of median consumption HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(cons_poverty_line = ifelse(year == 1989, NA_real_, 0.5 * wtd.quantile(eq_yearly_cons, w = hhwt, probs=0.5))) #Variable for half of median wealth HESH_expanded <- HESH_expanded %>% group_by(year) %>% mutate(wealth_poverty_line = ifelse(year>1999, 0.5 * wtd.quantile(eq_wealth, w = hhwt, probs=0.5), NA)) ############################################################# # INCOME DECILEs ############################################################# ###disposable income deciles # weighted cut points cuts_wtd <- HESH_expanded %>% group_by(year) %>% do(data.frame(t(wtd.quantile(.$eq_yearly_disp_inc, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd <- ungroup(cuts_wtd) # rename cut variables cuts_wtd <- rename(cuts_wtd, cut0=X..0., cut10=X.10., cut20=X.20., cut30=X.30., cut40=X.40., cut50=X.50., cut60=X.60., cut70=X.70., cut80=X.80., cut90=X.90., cut100=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(inc_dec = case_when( eq_yearly_disp_inc <= cut10 ~ 1, eq_yearly_disp_inc > cut10 & eq_yearly_disp_inc <= cut20 ~ 2, eq_yearly_disp_inc > cut20 & eq_yearly_disp_inc <= cut30 ~ 3, eq_yearly_disp_inc > cut30 & eq_yearly_disp_inc <= cut40 ~ 4, eq_yearly_disp_inc > cut40 & eq_yearly_disp_inc <= cut50 ~ 5, eq_yearly_disp_inc > cut50 & eq_yearly_disp_inc <= cut60 ~ 6, eq_yearly_disp_inc > cut60 & eq_yearly_disp_inc <= cut70 ~ 7, eq_yearly_disp_inc > cut70 & eq_yearly_disp_inc <= cut80 ~ 8, eq_yearly_disp_inc > cut80 & eq_yearly_disp_inc <= cut90 ~ 9, eq_yearly_disp_inc > cut90 ~ 10, TRUE ~ -99 ) ) ### gross income deciles # weighted cut points cuts_wtd_gross_inc <- HESH_expanded %>% group_by(year) %>% do(data.frame(t(wtd.quantile(.$eq_yearly_gross_inc, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd_gross_inc <- ungroup(cuts_wtd_gross_inc) # rename cut variables cuts_wtd_gross_inc <- rename(cuts_wtd_gross_inc, cut0_gross_inc=X..0., cut10_gross_inc=X.10., cut20_gross_inc=X.20., cut30_gross_inc=X.30., cut40_gross_inc=X.40., cut50_gross_inc=X.50., cut60_gross_inc=X.60., cut70_gross_inc=X.70., cut80_gross_inc=X.80., cut90_gross_inc=X.90., cut100_gross_inc=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd_gross_inc, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(gross_inc_dec = case_when( eq_yearly_gross_inc <= cut10_gross_inc ~ 1, eq_yearly_gross_inc > cut10_gross_inc & eq_yearly_gross_inc <= cut20_gross_inc ~ 2, eq_yearly_gross_inc > cut20_gross_inc & eq_yearly_gross_inc <= cut30_gross_inc ~ 3, eq_yearly_gross_inc > cut30_gross_inc & eq_yearly_gross_inc <= cut40_gross_inc ~ 4, eq_yearly_gross_inc > cut40_gross_inc & eq_yearly_gross_inc <= cut50_gross_inc ~ 5, eq_yearly_gross_inc > cut50_gross_inc & eq_yearly_gross_inc <= cut60_gross_inc ~ 6, eq_yearly_gross_inc > cut60_gross_inc & eq_yearly_gross_inc <= cut70_gross_inc ~ 7, eq_yearly_gross_inc > cut70_gross_inc & eq_yearly_gross_inc <= cut80_gross_inc ~ 8, eq_yearly_gross_inc > cut80_gross_inc & eq_yearly_gross_inc <= cut90_gross_inc ~ 9, eq_yearly_gross_inc > cut90_gross_inc ~ 10, TRUE ~ -99 ) ) ###Labour income deciles # weighted cut points cuts_wtd_lab_inc <- HESH_expanded %>% group_by(year) %>% do(data.frame(t(wtd.quantile(.$eq_yearly_lab_inc, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd_lab_inc <- ungroup(cuts_wtd_lab_inc) # rename cut variables cuts_wtd_lab_inc <- rename(cuts_wtd_lab_inc, cut0_lab_inc=X..0., cut10_lab_inc=X.10., cut20_lab_inc=X.20., cut30_lab_inc=X.30., cut40_lab_inc=X.40., cut50_lab_inc=X.50., cut60_lab_inc=X.60., cut70_lab_inc=X.70., cut80_lab_inc=X.80., cut90_lab_inc=X.90., cut100_lab_inc=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd_lab_inc, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(lab_inc_dec = case_when( eq_yearly_lab_inc <= cut10_lab_inc ~ 1, eq_yearly_lab_inc > cut10_lab_inc & eq_yearly_lab_inc <= cut20_lab_inc ~ 2, eq_yearly_lab_inc > cut20_lab_inc & eq_yearly_lab_inc <= cut30_lab_inc ~ 3, eq_yearly_lab_inc > cut30_lab_inc & eq_yearly_lab_inc <= cut40_lab_inc ~ 4, eq_yearly_lab_inc > cut40_lab_inc & eq_yearly_lab_inc <= cut50_lab_inc ~ 5, eq_yearly_lab_inc > cut50_lab_inc & eq_yearly_lab_inc <= cut60_lab_inc ~ 6, eq_yearly_lab_inc > cut60_lab_inc & eq_yearly_lab_inc <= cut70_lab_inc ~ 7, eq_yearly_lab_inc > cut70_lab_inc & eq_yearly_lab_inc <= cut80_lab_inc ~ 8, eq_yearly_lab_inc > cut80_lab_inc & eq_yearly_lab_inc <= cut90_lab_inc ~ 9, eq_yearly_lab_inc > cut90_lab_inc ~ 10, TRUE ~ -99 ) ) ###Capital income deciles # weighted cut points cuts_wtd_cap_inc <- HESH_expanded %>% group_by(year) %>% do(data.frame(t(wtd.quantile(.$eq_yearly_cap_inc, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd_cap_inc <- ungroup(cuts_wtd_cap_inc) # rename cut variables cuts_wtd_cap_inc <- rename(cuts_wtd_cap_inc, cut0_cap_inc=X..0., cut10_cap_inc=X.10., cut20_cap_inc=X.20., cut30_cap_inc=X.30., cut40_cap_inc=X.40., cut50_cap_inc=X.50., cut60_cap_inc=X.60., cut70_cap_inc=X.70., cut80_cap_inc=X.80., cut90_cap_inc=X.90., cut100_cap_inc=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd_cap_inc, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(cap_inc_dec = case_when( eq_yearly_cap_inc <= cut10_cap_inc ~ 1, eq_yearly_cap_inc > cut10_cap_inc & eq_yearly_cap_inc <= cut20_cap_inc ~ 2, eq_yearly_cap_inc > cut20_cap_inc & eq_yearly_cap_inc <= cut30_cap_inc ~ 3, eq_yearly_cap_inc > cut30_cap_inc & eq_yearly_cap_inc <= cut40_cap_inc ~ 4, eq_yearly_cap_inc > cut40_cap_inc & eq_yearly_cap_inc <= cut50_cap_inc ~ 5, eq_yearly_cap_inc > cut50_cap_inc & eq_yearly_cap_inc <= cut60_cap_inc ~ 6, eq_yearly_cap_inc > cut60_cap_inc & eq_yearly_cap_inc <= cut70_cap_inc ~ 7, eq_yearly_cap_inc > cut70_cap_inc & eq_yearly_cap_inc <= cut80_cap_inc ~ 8, eq_yearly_cap_inc > cut80_cap_inc & eq_yearly_cap_inc <= cut90_cap_inc ~ 9, eq_yearly_cap_inc > cut90_cap_inc ~ 10, TRUE ~ -99 ) ) ############################################################# # CONSUMPTION DECILEs ############################################################# #For consumption with in kind transfers # weighted cut points cuts_wtd_cons <- HESH_expanded %>% group_by(year) %>% filter(year!=1989) %>% do(data.frame(t(wtd.quantile(.$eq_yearly_cons, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd_cons <- ungroup(cuts_wtd_cons) # rename cut variables cuts_wtd_cons <- rename(cuts_wtd_cons, cut0_cons=X..0., cut10_cons=X.10., cut20_cons=X.20., cut30_cons=X.30., cut40_cons=X.40., cut50_cons=X.50., cut60_cons=X.60., cut70_cons=X.70., cut80_cons=X.80., cut90_cons=X.90., cut100_cons=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd_cons, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(cons_dec = case_when( eq_yearly_cons <= cut10_cons ~ 1, eq_yearly_cons > cut10_cons & eq_yearly_cons <= cut20_cons ~ 2, eq_yearly_cons > cut20_cons & eq_yearly_cons <= cut30_cons ~ 3, eq_yearly_cons > cut30_cons & eq_yearly_cons <= cut40_cons ~ 4, eq_yearly_cons > cut40_cons & eq_yearly_cons <= cut50_cons ~ 5, eq_yearly_cons > cut50_cons & eq_yearly_cons <= cut60_cons ~ 6, eq_yearly_cons > cut60_cons & eq_yearly_cons <= cut70_cons ~ 7, eq_yearly_cons > cut70_cons & eq_yearly_cons <= cut80_cons ~ 8, eq_yearly_cons > cut80_cons & eq_yearly_cons <= cut90_cons ~ 9, eq_yearly_cons > cut90_cons ~ 10, TRUE ~ -99 ) ) #For consumption WITHOUT in kind transfers # weighted cut points cuts_wtd_cons_no_inkind <- HESH_expanded %>% group_by(year) %>% filter(year!=1989) %>% do(data.frame(t(wtd.quantile(.$eq_yearly_cons_no_inkind, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd_cons_no_inkind <- ungroup(cuts_wtd_cons_no_inkind) # rename cut variables cuts_wtd_cons_no_inkind <- rename(cuts_wtd_cons_no_inkind, cut0_cons_no_inkind=X..0., cut10_cons_no_inkind=X.10., cut20_cons_no_inkind=X.20., cut30_cons_no_inkind=X.30., cut40_cons_no_inkind=X.40., cut50_cons_no_inkind=X.50., cut60_cons_no_inkind=X.60., cut70_cons_no_inkind=X.70., cut80_cons_no_inkind=X.80., cut90_cons_no_inkind=X.90., cut100_cons_no_inkind=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd_cons_no_inkind, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(cons_dec_no_inkind = case_when( eq_yearly_cons_no_inkind <= cut10_cons_no_inkind ~ 1, eq_yearly_cons_no_inkind > cut10_cons_no_inkind & eq_yearly_cons_no_inkind <= cut20_cons_no_inkind ~ 2, eq_yearly_cons_no_inkind > cut20_cons_no_inkind & eq_yearly_cons_no_inkind <= cut30_cons_no_inkind ~ 3, eq_yearly_cons_no_inkind > cut30_cons_no_inkind & eq_yearly_cons_no_inkind <= cut40_cons_no_inkind ~ 4, eq_yearly_cons_no_inkind > cut40_cons_no_inkind & eq_yearly_cons_no_inkind <= cut50_cons_no_inkind ~ 5, eq_yearly_cons_no_inkind > cut50_cons_no_inkind & eq_yearly_cons_no_inkind <= cut60_cons_no_inkind ~ 6, eq_yearly_cons_no_inkind > cut60_cons_no_inkind & eq_yearly_cons_no_inkind <= cut70_cons_no_inkind ~ 7, eq_yearly_cons_no_inkind > cut70_cons_no_inkind & eq_yearly_cons_no_inkind <= cut80_cons_no_inkind ~ 8, eq_yearly_cons_no_inkind > cut80_cons_no_inkind & eq_yearly_cons_no_inkind <= cut90_cons_no_inkind ~ 9, eq_yearly_cons_no_inkind > cut90_cons_no_inkind ~ 10, TRUE ~ -99 ) ) #For consumption WITHOUT in kind transfers or imputed rent # weighted cut points cuts_wtd_cons_exp <- HESH_expanded %>% group_by(year) %>% filter(year!=1989) %>% do(data.frame(t(wtd.quantile(.$eq_yearly_cons_exp, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd_cons_exp <- ungroup(cuts_wtd_cons_exp) # rename cut variables cuts_wtd_cons_exp <- rename(cuts_wtd_cons_exp, cut0_cons_exp=X..0., cut10_cons_exp=X.10., cut20_cons_exp=X.20., cut30_cons_exp=X.30., cut40_cons_exp=X.40., cut50_cons_exp=X.50., cut60_cons_exp=X.60., cut70_cons_exp=X.70., cut80_cons_exp=X.80., cut90_cons_exp=X.90., cut100_cons_exp=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd_cons_exp, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(cons_dec_exp = case_when( eq_yearly_cons_exp <= cut10_cons_exp ~ 1, eq_yearly_cons_exp > cut10_cons_exp & eq_yearly_cons_exp <= cut20_cons_exp ~ 2, eq_yearly_cons_exp > cut20_cons_exp & eq_yearly_cons_exp <= cut30_cons_exp ~ 3, eq_yearly_cons_exp > cut30_cons_exp & eq_yearly_cons_exp <= cut40_cons_exp ~ 4, eq_yearly_cons_exp > cut40_cons_exp & eq_yearly_cons_exp <= cut50_cons_exp ~ 5, eq_yearly_cons_exp > cut50_cons_exp & eq_yearly_cons_exp <= cut60_cons_exp ~ 6, eq_yearly_cons_exp > cut60_cons_exp & eq_yearly_cons_exp <= cut70_cons_exp ~ 7, eq_yearly_cons_exp > cut70_cons_exp & eq_yearly_cons_exp <= cut80_cons_exp ~ 8, eq_yearly_cons_exp > cut80_cons_exp & eq_yearly_cons_exp <= cut90_cons_exp ~ 9, eq_yearly_cons_exp > cut90_cons_exp ~ 10, TRUE ~ -99 ) ) ############################################################# # WEALTH DECILEs ############################################################# # weighted cut points cuts_wtd_wealth <- HESH_expanded %>% group_by(year) %>% do(data.frame(t(wtd.quantile(.$eq_wealth_no_neg, weights=.$hhwt, probs=seq(from = 0, to = 1, by = 0.1), # the t is a transpose of some kind - changes the output format type='quantile', normwt=FALSE, na.rm = TRUE) # normwt and na.rm can be set to TRUE or FALSE without affecting output ) ) ) HESH_expanded <- ungroup(HESH_expanded) # ungroup dataframe cuts_wtd_wealth <- ungroup(cuts_wtd_wealth) # rename cut variables cuts_wtd_wealth <- rename(cuts_wtd_wealth, cut0_wealth=X..0., cut10_wealth=X.10., cut20_wealth=X.20., cut30_wealth=X.30., cut40_wealth=X.40., cut50_wealth=X.50., cut60_wealth=X.60., cut70_wealth=X.70., cut80_wealth=X.80., cut90_wealth=X.90., cut100_wealth=X100.) # join weighted cut points to the dataframe HESH_expanded <- left_join(HESH_expanded, cuts_wtd_wealth, by="year") # assign each observation to a decile basked depending on relevant weighted cut points HESH_expanded <- HESH_expanded %>% mutate(wealth_dec = case_when( eq_wealth_no_neg <= cut10_wealth ~ 1, eq_wealth_no_neg > cut10_wealth & eq_wealth_no_neg <= cut20_wealth ~ 2, eq_wealth_no_neg > cut20_wealth & eq_wealth_no_neg <= cut30_wealth ~ 3, eq_wealth_no_neg > cut30_wealth & eq_wealth_no_neg <= cut40_wealth ~ 4, eq_wealth_no_neg > cut40_wealth & eq_wealth_no_neg <= cut50_wealth ~ 5, eq_wealth_no_neg > cut50_wealth & eq_wealth_no_neg <= cut60_wealth ~ 6, eq_wealth_no_neg > cut60_wealth & eq_wealth_no_neg <= cut70_wealth ~ 7, eq_wealth_no_neg > cut70_wealth & eq_wealth_no_neg <= cut80_wealth ~ 8, eq_wealth_no_neg > cut80_wealth & eq_wealth_no_neg <= cut90_wealth ~ 9, eq_wealth_no_neg > cut90_wealth ~ 10, TRUE ~ -99 ) ) #Attach expanded household deciles to unexpanded household file for use in age-related calculations HESH_deciles <- HESH_expanded %>% select(ABSHID, year, inc_dec, cons_dec, wealth_dec) HESH <- left_join(HESH,HESH_deciles, by = c("year","ABSHID")) %>% distinct(year, ABSHID, .keep_all = TRUE) ########################################################## # GINI COEFFICIENTS ########################################################## # treat negative numbers as zeroes #all HES ginis ginis <- HESH_expanded %>% select(year, hhwt, eq_disp_inc, eq_gross_inc, eq_priv_inc, eq_lab_inc, eq_cap_inc, eq_trans_inc, eq_wealth, eq_cons, eq_cons_no_inkind, eq_cons_exp) %>% gather(key = "variable", value = "value", c(-year, -hhwt)) %>% mutate(value = ifelse(value > 0, value,0)) %>% group_by(year, variable) %>% summarise(gini = gini(value, weights = hhwt)) #square root Gini for international comparisons sqrt_ginis <- HESH_expanded %>% select(year, hhwt, sqrt_eq_disp_inc) %>% mutate(value = ifelse(sqrt_eq_disp_inc > 0, sqrt_eq_disp_inc,0)) %>% group_by(year) %>% summarise(gini = gini(value, weights = hhwt)) # wealth ginis wealth_ginis <- HESH_expanded %>% select(year, hhwt, eq_wealth) %>% mutate(eq_wealth = ifelse(eq_wealth > 0, eq_wealth,0)) %>% group_by(year) %>% summarise(gini = gini(eq_wealth, weights = hhwt)) # saveRDS(ginis, file= here("shared_dataframes", "HES_ginis.rds") ) # saveRDS(wealth_ginis, file= here("shared_dataframes", "HES_wealth_ginis.rds") )