Created
March 23, 2018 12:50
-
-
Save michaelstepner/97e08cfc63858cca126288d6dd77f078 to your computer and use it in GitHub Desktop.
Upward Mobility in the United States by Race x Gender
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*! 23mar2018 Michael Stepner | |
* Code released to public domain under CC0 license: https://creativecommons.org/publicdomain/zero/1.0/ | |
* Use it and adapt it as you like. | |
/*** Plot intergenerational mobility by Race x Gender for multiple races | |
***/ | |
* Load quintile transition matrices from Chetty, Hendren, Jones, and Porter (2018). http://www.equality-of-opportunity.org/data/ | |
use "http://www.equality-of-opportunity.org/data/race/table_2.dta", clear | |
* Generate mean kid individual income quintile | parent income quintile | |
forvalues parq=1/5 { | |
gen mean_kir_q_cond_par_q`parq' = kir_q1_cond_par_q`parq' * 1 + /// | |
kir_q2_cond_par_q`parq' * 2 + /// | |
kir_q3_cond_par_q`parq' * 3 + /// | |
kir_q4_cond_par_q`parq' * 4 + /// | |
kir_q5_cond_par_q`parq' * 5 | |
} | |
keep kid_race gender mean_kir_q* | |
reshape long mean_kir_q_cond_par_q, i(kid_race gender) j(par_q) | |
rename mean_kir_q_cond_par_q mean_kir_q | |
* Plot graphs, sequentially adding racial/ethnic groups | |
twoway (scatter mean_kir_q par_q if kid_race=="White" & gender=="M", ms(s) mc(gold*1.25) lc(gold*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="White" & gender=="F", ms(o) mc(gold*0.75) lc(gold*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="M", ms(s) mc(ebblue*1.25) lc(ebblue*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="F", ms(o) mc(ebblue*0.75) lc(ebblue*0.75) c(l)) /// | |
, /// | |
xtitle("Family Income Quintile of Parent") /// | |
ytitle("Mean Individual Quintile of Child") /// | |
ylab(,angle(horiz)) /// | |
legend( /// | |
lab(1 "White Men") lab(2 "White Women") /// | |
lab(3 "Black Men") lab(4 "Black Women") /// | |
) | |
graph export "mobility_wb.png", replace | |
twoway (scatter mean_kir_q par_q if kid_race=="White" & gender=="M", ms(s) mc(gold*1.25) lc(gold*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="White" & gender=="F", ms(o) mc(gold*0.75) lc(gold*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="M", ms(s) mc(ebblue*1.25) lc(ebblue*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="F", ms(o) mc(ebblue*0.75) lc(ebblue*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="M", ms(s) mc(orange_red*1.25) lc(orange_red*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="F", ms(o) mc(orange_red*0.75) lc(orange_red*0.75) c(l)) /// | |
, /// | |
xtitle("Family Income Quintile of Parent") /// | |
ytitle("Mean Individual Quintile of Child") /// | |
ylab(,angle(horiz)) /// | |
legend( /// | |
lab(1 "White Men") lab(2 "White Women") /// | |
lab(3 "Black Men") lab(4 "Black Women") /// | |
lab(5 "Hispanic Men") lab(6 "Hispanic Women") /// | |
) | |
graph export "mobility_wbh.png", replace | |
twoway (scatter mean_kir_q par_q if kid_race=="White" & gender=="M", ms(s) mc(gold*1.25) lc(gold*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="White" & gender=="F", ms(o) mc(gold*0.75) lc(gold*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="M", ms(s) mc(ebblue*1.25) lc(ebblue*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="F", ms(o) mc(ebblue*0.75) lc(ebblue*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="M", ms(s) mc(orange_red*1.25) lc(orange_red*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="F", ms(o) mc(orange_red*0.75) lc(orange_red*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Asian" & gender=="M", ms(s) mc(purple*1.25) lc(purple*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Asian" & gender=="F", ms(o) mc(purple*0.75) lc(purple*0.75) c(l)) /// | |
, /// | |
xtitle("Family Income Quintile of Parent") /// | |
ytitle("Mean Individual Quintile of Child") /// | |
ylab(,angle(horiz)) /// | |
legend( /// | |
lab(1 "White Men") lab(2 "White Women") /// | |
lab(3 "Black Men") lab(4 "Black Women") /// | |
lab(5 "Hispanic Men") lab(6 "Hispanic Women") /// | |
lab(7 "Asian Men") lab(8 "Asian Women") /// | |
) | |
graph export "mobility_wbha.png", replace | |
twoway (scatter mean_kir_q par_q if kid_race=="White" & gender=="M", ms(s) mc(gold*1.25) lc(gold*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="White" & gender=="F", ms(o) mc(gold*0.75) lc(gold*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="M", ms(s) mc(ebblue*1.25) lc(ebblue*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="F", ms(o) mc(ebblue*0.75) lc(ebblue*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="M", ms(s) mc(orange_red*1.25) lc(orange_red*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="F", ms(o) mc(orange_red*0.75) lc(orange_red*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Asian" & gender=="M", ms(s) mc(purple*1.25) lc(purple*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Asian" & gender=="F", ms(o) mc(purple*0.75) lc(purple*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="AIAN" & gender=="M", ms(s) mc(midgreen*1.25) lc(midgreen*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="AIAN" & gender=="F", ms(o) mc(midgreen*0.75) lc(midgreen*0.75) c(l)) /// | |
, /// | |
xtitle("Family Income Quintile of Parent") /// | |
ytitle("Mean Individual Quintile of Child") /// | |
ylab(,angle(horiz)) /// | |
legend( /// | |
lab(1 "White Men") lab(2 "White Women") /// | |
lab(3 "Black Men") lab(4 "Black Women") /// | |
lab(5 "Hispanic Men") lab(6 "Hispanic Women") /// | |
lab(7 "Asian Men") lab(8 "Asian Women") /// | |
lab(9 "Am Ind/AK Native Men") lab(10 "Am Ind/AK Native Women") /// | |
) | |
graph export "mobility_wbhai.png", replace | |
twoway (scatter mean_kir_q par_q if kid_race=="White" & gender=="M", ms(s) mc(gold*1.25) lc(gold*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="White" & gender=="F", ms(o) mc(gold*0.75) lc(gold*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="M", ms(s) mc(ebblue*1.25) lc(ebblue*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Black" & gender=="F", ms(o) mc(ebblue*0.75) lc(ebblue*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="M", ms(s) mc(orange_red*1.25) lc(orange_red*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Hispanic" & gender=="F", ms(o) mc(orange_red*0.75) lc(orange_red*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Asian" & gender=="M", ms(s) mc(purple*1.25) lc(purple*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Asian" & gender=="F", ms(o) mc(purple*0.75) lc(purple*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="AIAN" & gender=="M", ms(s) mc(midgreen*1.25) lc(midgreen*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="AIAN" & gender=="F", ms(o) mc(midgreen*0.75) lc(midgreen*0.75) c(l)) /// | |
(scatter mean_kir_q par_q if kid_race=="Other" & gender=="M", ms(s) mc(teal*1.25) lc(teal*1.25) c(l) lpat(dash)) /// | |
(scatter mean_kir_q par_q if kid_race=="Other" & gender=="F", ms(o) mc(teal*0.75) lc(teal*0.75) c(l)) /// | |
, /// | |
xtitle("Family Income Quintile of Parent") /// | |
ytitle("Mean Individual Quintile of Child") /// | |
ylab(,angle(horiz)) /// | |
legend( /// | |
lab(1 "White Men") lab(2 "White Women") /// | |
lab(3 "Black Men") lab(4 "Black Women") /// | |
lab(5 "Hispanic Men") lab(6 "Hispanic Women") /// | |
lab(7 "Asian Men") lab(8 "Asian Women") /// | |
lab(9 "Am Ind/AK Native Men") lab(10 "Am Ind/AK Native Women") /// | |
lab(11 "Other Men") lab(12 "Other Women") /// | |
) | |
graph export "mobility_wbhaio.png", replace |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Resulting figures attached here: