clear all set scheme s2mono use "/Users/aslicansunar/Dropbox/Dissertation/Dissertation Document/Dissertation Data/ISSP-Social Inequality 2009/ZA5400_v3-0-0.dta" cd "/Users/aslicansunar/Dropbox/_Papers for publication/Who is High Income, Anyway?/_JOP/Pictures" foreach v of varlist _all { local n =lower("`v'") rename `v' `n' } gen ccode=. replace ccode=560 if v5 == 710 replace ccode=160 if v5 == 32 replace ccode=900 if v5 == 36 replace ccode=20 if v5 == 124 replace ccode=155 if v5 == 152 replace ccode=713 if v5 == 158 replace ccode=344 if v5 == 191 replace ccode=316 if v5 == 203 replace ccode=390 if v5 == 208 replace ccode=375 if v5 == 246 replace ccode=220 if v5 == 250 replace ccode=310 if v5 == 348 replace ccode=205 if v5 == 372 replace ccode=666 if v5 == 376 replace ccode=740 if v5 == 392 replace ccode=732 if v5 == 410 replace ccode=367 if v5 == 428 replace ccode=210 if v5 == 528 replace ccode=920 if v5 == 554 replace ccode=385 if v5 == 578 replace ccode=840 if v5 == 608 replace ccode=290 if v5 == 616 replace ccode=235 if v5 == 620 replace ccode=365 if v5 == 643 replace ccode=349 if v5 == 705 replace ccode=560 if v5 == 710 replace ccode=230 if v5 == 724 replace ccode=380 if v5 == 752 replace ccode=225 if v5 == 756 replace ccode=200 if v5 == 826 replace ccode=2 if v5 == 840 replace ccode=165 if v5 == 858 replace ccode=101 if v5 == 862 replace ccode=255 if v5 == 276 replace ccode=305 if v5 == 40 replace ccode=211 if v5 == 56 replace ccode=395 if v5 == 352 replace ccode=325 if v5 == 380 replace ccode=317 if v5 == 703 replace ccode=640 if v5 == 792 replace ccode=355 if v5 == 100 replace ccode=710 if v5 == 156 replace ccode=353 if v5 == 196 replace ccode=366 if v5 == 233 replace ccode=369 if v5 == 804 drop if ccode==. kountry ccode, from(cown) to(iso3c) rename _ISO3C_ iso3c labmask ccode, val(iso3c) numlabel ccode, add decode v5, gen(C) gen country_abb=lower(substr(C,1,2)) rename country_abb abb levelsof abb, local(A) foreach a of local A { local b=upper("`a'") numlabel `b'_INC, add } *10-Step Income Percentile adjusted by household levels foreach v of varlist ar_inc-za_inc{ replace `v' = `v'/sqrt(hompop) } foreach v of varlist ar_inc-za_inc{ xtile `v'_10 = `v' [aw=weight], n(10) } *Generate a General Household Income Decile Variable egen income = rowmax(ar_inc_10-za_inc_10) foreach v of varlist ar_inc-za_inc{ xtile `v'_5 = `v' [aw=weight], n(5) } *Generate a General Household Income Decile Variable egen income5 = rowmax(au_inc_5-za_inc_5) label define income5 1 "poor" 5 "rich", modify label val income5 income5 *Above-median and Below-median Dummies foreach v of varlist ar_inc-za_inc{ egen `v'_median=median(`v') } gen above_median=0 * cleaning data - make sure 10 deciles foreach v of varlist ar_inc_10-za_inc_10{ egen `v'_tag = tag(`v') } foreach v of varlist ar_inc_10_tag-za_inc_10_tag{ egen `v'_n = total(`v'), by(iso3c) } egen ntag = rowmax(ar_inc_10_tag_n-za_inc_10_tag_n) gen decile_10=0 replace decile_10=1 if ntag==10 drop if decile_10==0 **********mean income variable foreach v of varlist ar_inc-za_inc{ egen `v'_mean = mean(`v'), by(iso3c) } egen mean_income = rowmax(ar_inc_mean-za_inc_mean) ******Generate Misperception Variable gen misperception=income-topbot * gender gen female=(sex==2) if sex<. label var female "Dummy for female" * labor force status gen empl_full=(wrkst==1) if wrkst<.a label var empl_full "Dummy for full-time employed" gen empl_part=(wrkst==2 | wrkst==3) if wrkst<.a label var empl_part "Dummy for less than full-time employed" gen unempl=(wrkst==5) if wrkst<.a label var unempl "Dummy for unemployed" gen student=(wrkst==6) if wrkst<.a label var student "Dummy for student" gen retired =(wrkst==7) if wrkst<.a label var retired "Dummy for retired" gen empl_none=(wrkst==4 | wrkst==8 | wrkst==9 | wrkst==10) if wrkst<.a label var empl_none "Dummy for not in labor force" gen empl_nilfs=(wrkst==4 | wrkst==6 | wrkst==7 | wrkst==8 | wrkst==9 | wrkst==10) if wrkst<.a label var empl_nilfs "Dummy for not in labor force" * self-employment gen empl_self=(wrktype==4) if wrktype<.a label var empl_self "Dummy for self employed (many MVs!)" * public employment gen empl_publ=(wrktype==1 | wrktype==2) if wrktype<.a label var empl_publ "Dummy for public employment (many MVs!)" * TU union membership gen tunion=(union==1 | union==2) if union<.a label var tunion "Dummy for current or former union member (many MV!)" * church attendance recode attend (8=0) (7=1) (5/6=2) (4=3) (3=4) (1/2=5), gen(church) label define church 0 "never" 5 "often", modify numlabel church, add label val church church label var church "Church attendance" * age drop if age<22 drop if age>60 * married gen married=0 replace married=1 if marital==1 * college gen college=0 replace college=1 if degree==5 gen homeowner=(v67 !=2) if v67 <. gen homeowner_ND=(v67 >2) if v67 <. vreverse v33, gen(resp_redi) gen right=1 if party_lr==4 | party_lr==5 cd "/Users/aslicansunar/Dropbox/WEALTHPOL_Research/Papers/JESP/Data" merge m:1 c_alphan using ./oecd15.dta, force drop if _merge<3 gen hco_ineq=fifthq_hco/firstq_hco gen Ownership_ineq=fifthq_owner/firstq_owner gen hco_in=firstq_hco-fifthq_hco gen hco=0 replace hco= firstq_hco if income5==1 replace hco= secondq_hco if income5==2 replace hco= thirdq_hco if income5==3 replace hco= fourthq_hco if income5==4 replace hco= fifthq_hco if income5==5 gen DB100=. replace DB100=1 if urbrural==1 | urbrural==2 replace DB100=2 if urbrural==3 replace DB100=3 if urbrural==4 | urbrural==5 gen DB040=. tostring DB040, replace replace DB040="AT1" if at_reg==7 | at_reg==8| at_reg==9 replace DB040="AT2" if at_reg==5 | at_reg==6 replace DB040="AT3" if at_reg==1 | at_reg==2 |at_reg==3 |at_reg==4 replace DB040="BE1" if be_reg==6 replace DB040="BE2" if be_reg==1 | be_reg==2| be_reg==3 | be_reg==4 | be_reg==5 replace DB040="CHO1" if ch_reg==1 replace DB040="CHO2" if ch_reg==2 replace DB040="CHO3" if ch_reg==3 replace DB040="CHO4" if ch_reg==4 replace DB040="CH05" if ch_reg==5 replace DB040="CH06" if ch_reg==6 replace DB040="CH07" if ch_reg==7 replace DB040="DK0" if dk_reg==1 replace DB040="DK0" if dk_reg==2 replace DB040="DK0" if dk_reg==3 replace DB040="DK0" if dk_reg==4 replace DB040="DK0" if dk_reg==5 replace DB040="DK0" if dk_reg==6 replace DB040="DK0" if dk_reg==7 replace DB040="ES1" if es_reg==11 | es_reg==3 | es_reg==7 replace DB040="ES2" if es_reg==15 | es_reg=12 | es_reg=2 | es_reg= replace DB040="ES3" if es_reg==13 replace DB040="ES4" if es_reg==8 | es_reg==9 |es_reg==10 replace DB040="ES5" if es_reg==5 | es_reg==17 |es_reg==4 replace DB040="ES6" if es_reg==1 | es_reg==14 replace DB040="ES6" if es_reg==6 replace DB040="FI19" if fi_reg==3 | fi_reg==5 | fi_reg==12| fi_reg==13 | fi_reg==14 replace DB040="FI1B" if fi_reg==1 replace DB040="FI1C" if fi_reg==4| fi_reg==8| fi_reg==6 | fi_reg==7 | fi_reg==2 replace DB040="FI1D" if fi_reg==9|fi_reg==10 |fi_reg==11|fi_reg==17| fi_reg==15|fi_reg==16|fi_reg==18 replace DB040="FI20" if fi_reg=19 replace DB040="ITC1" if it_reg==1 replace DB040="ITC2" if it_reg==2 replace DB040="ITCC" if it_reg==7 replace DB040="ITC4" if it_reg==3 replace DB040="ITF1" if it_reg==13 replace DB040="ITF2" if it_reg==14 replace DB040="ITF3" if it_reg==15 replace DB040="ITF4" if it_reg==16 replace DB040="ITF5" if it_reg==17 replace DB040="ITF6" if it_reg==18 replace DB040="ITG1" if it_reg==19 replace DB040="ITG2" if it_reg==20 replace DB040="ITH2" if it_reg==4 replace DB040="ITH3" if it_reg==5 replace DB040="ITH4" if it_reg==6 replace DB040="ITH5" if it_reg==8 replace DB040="ITI1" if it_reg==9 replace DB040="ITI2" if it_reg==10 replace DB040="ITI3" if it_reg==11 replace DB040="ITI4" if it_reg==12 preserve drop if income5==. collapse (mean) resp_redi hco_ineq Ownership_ineq below60_owner-fifthq_ownermort, by(c_alphan income5) isid c_alphan income5 reshape wide resp_redi, i(c_alphan) j(income5) format resp_redi* %4.3f tw (scatter resp_redi1 Ownership_ineq, sort mlab(c_alphan) mlabpos(12)) (lfit resp_redi1 Ownership_ineq, lp(dash)) (scatter resp_redi5 Ownership_ineq, sort mlabpos(6)) (lfit resp_redi5 Ownership_ineq, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile") label(3 "Fifth quintile") row(2) size(small)) xtitle("Ownership inequality") ylabel(, format(%3.1f)) ytitle("Average support for redistribution") graph export inequality_redis.pdf, replace tw (scatter resp_redi1 hco_in, sort mlab(c_alphan) mlabpos(12)) (lfit resp_redi1 hco_in, lp(dash)) (scatter resp_redi5 hco_in, sort mlabpos(6)) (lfit resp_redi5 hco_in, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile") label(3 "Fifth quintile") row(2) size(small)) xtitle("HCO Rate inequality") ylabel(, format(%3.1f)) ytitle("Average support for redistribution") graph export hcoinequality_redis.pdf, replace restore ****************Homeowners vs Renters preserve drop if homeowner_ND==. drop if income5==. collapse (mean) resp_redi hco_ineq Ownership_ineq below60_owner-fifthq_ownermort, by(c_alphan income5 homeowner_ND) isid c_alphan income5 homeowner_ND egen treatment = concat(income5 homeowner), p(_) drop income5 drop homeowner reshape wide resp_redi, i(c_alphan) j(treatment) string format resp_redi* %4.3f tw (scatter resp_redi1_0 firstq_hco, sort mlab(c_alphan) mlabpos(12)) (lfit resp_redi1_0 firstq_hco, lp(dash)) (scatter resp_redi1_1 firstq_hco, sort mlabpos(6)) (lfit resp_redi1_1 firstq_hco, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile - owns with loan/renter") label(3 "First quintile - owns a house with no debt") row(2) size(small)) xtitle("HCO ratio for the first quintile") ylabel(, format(%3.1f)) ytitle("Average support for redistribution") graph export firsthco_redis.pdf, replace tw (scatter resp_redi5_0 fifthq_hco, sort mlab(c_alphan) mlabpos(12)) (lfit resp_redi5_0 fifthq_hco, lp(dash)) (scatter resp_redi5_1 fifthq_hco, sort mlabpos(6)) (lfit resp_redi5_1 fifthq_hco, lp(line)), note("", size(vsmall)) legend(label(1 "Fifth quintile - owns with loan/renter") label(3 "Fifth quintile - owns a house with no debt") row(2) size(small)) xtitle("HCO ratio for the fifth quintile") ylabel(, format(%3.1f)) ytitle("Average support for redistribution") graph export fifthhco_redis.pdf, replace tw (scatter resp_redi1_0 firstq_owner, sort mlab(c_alphan) mlabpos(12)) (lfit resp_redi1_0 firstq_owner, lp(dash)) (scatter resp_redi1_1 firstq_owner, sort mlabpos(6)) (lfit resp_redi1_1 firstq_owner, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile - owns with loan/renter") label(3 "First quintile - owns a house with no debt") row(2) size(small)) xtitle("Ownership rates of the first quintile") ylabel(, format(%3.1f)) ytitle("Average support for redistribution") graph export firstownership_redis.pdf, replace tw (scatter resp_redi1_0 Ownership_ineq, sort mlab(c_alphan) mlabpos(12)) (lfit resp_redi1_0 Ownership_ineq, lp(dash)) (scatter resp_redi1_1 Ownership_ineq, sort mlabpos(6)) (lfit resp_redi1_1 Ownership_ineq, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile - owns with loan/renter") label(3 "First quintile - owns a house with no debt") row(2) size(small)) xtitle("Ownership inequality") ylabel(, format(%3.1f)) ytitle("Average support for redistribution") graph export firstqineq_redis.pdf, replace restore preserve drop if income5==. collapse (mean) right hco_ineq Ownership_ineq below60_owner-fifthq_ownermort, by(c_alphan income5) isid c_alphan income5 reshape wide right, i(c_alphan) j(income5) format right* %4.3f tw (scatter right1 hco_in, sort mlab(c_alphan) mlabpos(12)) (lfit right1 hco_in, lp(dash)) (scatter right5 hco_in, sort mlabpos(6)) (lfit right5 hco_in, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile") label(3 "Fifth quintile") row(2) size(small)) xtitle("HCO Rate inequality") ylabel(, format(%3.1f)) ytitle("Average support for right-wing parties") graph export hcoine_right.pdf, replace tw (scatter right1 Ownership_ineq, sort mlab(c_alphan) mlabpos(12)) (lfit right1 Ownership_ineq, lp(dash)) (scatter right5 Ownership_ineq, sort mlabpos(6)) (lfit right5 Ownership_ineq, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile") label(3 "Fifth quintile") row(2) size(small)) xtitle("Ownership inequality") ylabel(, format(%3.1f)) ytitle("Average support for right-wing parties") graph export ownershipine_right.pdf, replace tw (scatter right1 Ownership_in, sort mlab(c_alphan) mlabpos(12)) (lfit right1 Ownership_in, lp(dash)) (scatter right5 Ownership_in, sort mlabpos(6)) (lfit right5 Ownership_in, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile") label(3 "Fifth quintile") row(2) size(small)) xtitle("Ownership inequality") ylabel(, format(%3.1f)) ytitle("Average support for right-wing parties") graph export ownershipine_right.pdf, replace restore preserve drop if homeowner_ND==. drop if income5==. collapse (mean) right hco_ineq Ownership_ineq below60_owner-fifthq_ownermort, by(c_alphan income5 homeowner_ND) isid c_alphan income5 homeowner_ND egen treatment = concat(income5 homeowner), p(_) drop income5 drop homeowner reshape wide right, i(c_alphan) j(treatment) string tw (scatter right1_0 firstq_hco, sort mlab(c_alphan) mlabpos(12)) (lfit right1_0 firstq_hco, lp(dash)) (scatter right1_1 firstq_hco, sort mlabpos(6)) (lfit right1_1 firstq_hco, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile - owns with debt/renter") label(3 "First quintile - owns with no debt") row(2) size(small)) xtitle("HCO ratio for the first quintile") ylabel(, format(%3.1f)) ytitle("Average support for right-wing parties") graph export hcofirst_right.pdf, replace tw (scatter right1_0 hco_in, sort mlab(c_alphan) mlabpos(12)) (lfit right1_0 hco_in, lp(dash)) (scatter right1_1 hco_in, sort mlabpos(6)) (lfit right1_1 hco_in, lp(line)), note("", size(vsmall)) legend(label(1 "First quintile - owns with debt/renter") label(3 "First quintile - owns with no debt") row(2) size(small)) xtitle("HCO Rate Inequality") ylabel(, format(%3.1f)) ytitle("Average support for right-wing parties") graph export hcoineqfirst_right.pdf, replace