This aim of this research is to build a series of models which include the following response variables:
This will be done for each country (level 3 in location hierarchy).
And a series of exposures from the World Bank will be used:
require(tidyverse)
## Loading required package: tidyverse
## Warning: package 'tidyverse' was built under R version 3.4.4
## -- Attaching packages ---------------------------------- tidyverse 1.2.1 --
## v ggplot2 2.2.1 v purrr 0.2.4
## v tibble 1.4.2 v dplyr 0.7.5
## v tidyr 0.8.1 v stringr 1.2.0
## v readr 1.1.1 v forcats 0.2.0
## Warning: package 'tibble' was built under R version 3.4.4
## Warning: package 'tidyr' was built under R version 3.4.4
## Warning: package 'purrr' was built under R version 3.4.4
## Warning: package 'dplyr' was built under R version 3.4.4
## -- Conflicts ------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
source("scripts/download_completed_request.R")
Will read_csv_directly work?
asr_dta <- read_csv_directly(
url_loc = "http://s3.healthdata.org/gbd-api-2016-production/3f1a784fe33bf6d9447c7b90e8828c3f_files/IHME-GBD_2016_DATA-3f1a784f-1.zip",
csv_name = "IHME-GBD_2016_DATA-3f1a784f-1.csv")
## Parsed with column specification:
## cols(
## measure_id = col_integer(),
## measure_name = col_character(),
## location_id = col_integer(),
## location_name = col_character(),
## sex_id = col_integer(),
## sex_name = col_character(),
## age_id = col_integer(),
## age_name = col_character(),
## cause_id = col_integer(),
## cause_name = col_character(),
## metric_id = col_integer(),
## metric_name = col_character(),
## year = col_integer(),
## val = col_double(),
## upper = col_double(),
## lower = col_double()
## )
Now to link this to the hierarchy
gbd_locations <- readxl::read_excel("raw_data/IHME_GBD_2016_CODEBOOK/IHME_GBD_2016_GBD_LOCATION_HIERARCHY_Y2018M04D26.XLSX")
gbd_country_ids <- gbd_locations %>%
filter(location_id %in% 1:218) %>%
filter(level == 3) %>%
pull(location_id)
## Warning: package 'bindrcpp' was built under R version 3.4.4
asr_dta %>%
filter(location_id %in% gbd_country_ids) %>%
filter(measure_name == "Deaths") %>%
select(location = location_name, year, sex = sex_name, cause = cause_name, std_mort_rate = val) -> mort_rate_data
asr_dta %>%
filter(location_id %in% gbd_country_ids) %>%
filter(measure_name == "DALYs (Disability-Adjusted Life Years)") %>%
select(location = location_name, year, sex = sex_name, cause = cause_name, std_mort_rate = val) -> daly_rate_data
And now to join this to the world bank measures
wb_data <- read_rds("data/world_bank/extracted_indicators.RData")
nrow(wb_data)
## [1] 58414
gdp_percap_data <- wbstats::wb(indicator= "NY.GDP.PCAP.PP.CD") %>% as_tibble()
nrow(gdp_percap_data)
## [1] 6405
wb_data <- bind_rows(wb_data, gdp_percap_data)
rm(gdp_percap_data)
nrow(wb_data)
## [1] 64819
join to mort rate
mort_rate_data_joined <- mort_rate_data %>%
mutate(country = location) %>%
inner_join(
wb_data %>%
mutate(year = as.integer(date)) %>%
select(year, country, indicator_id = indicatorID, indicator, indicator_value = value)
)
## Joining, by = c("year", "country")
daly_rate_data_joined <- daly_rate_data %>%
mutate(country = location) %>%
inner_join(
wb_data %>%
mutate(year = as.integer(date)) %>%
select(year, country, indicator_id = indicatorID, indicator, indicator_value = value)
)
## Joining, by = c("year", "country")
Models by gender and indicator
pull_indicator_coeff <- function(x){x %>% filter(term == "indicator_value") %>% pull(estimate) }
pull_indicator_se <- function(x){x %>% filter(term == "indicator_value") %>% pull(std.error) }
simple_models <- mort_rate_data_joined %>%
filter(cause == "All causes") %>%
select(country, year, sex, std_mort_rate, indicator_id, indicator, indicator_value) %>%
filter(!is.na(indicator_value)) %>%
group_by(indicator_id) %>%
nest() %>%
mutate(male_model = map(
data,
function(x) {
x %>%
filter(sex == "Male") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(female_model = map(
data,
function(x) {
x %>%
filter(sex == "Female") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(
male_model_tidy = map(male_model, broom::tidy),
female_model_tidy = map(female_model, broom::tidy)
) %>%
mutate(
male_indicator_coeff = map_dbl(male_model_tidy, pull_indicator_coeff),
female_indicator_coeff = map_dbl(female_model_tidy, pull_indicator_coeff),
male_indicator_se = map_dbl(male_model_tidy, pull_indicator_se),
female_indicator_se = map_dbl(female_model_tidy, pull_indicator_se)
)
Note: for some of these indicators the log should probably be used
simple_models %>%
select(indicator_id, male_indicator_coeff:female_indicator_se) %>%
left_join(wb_data %>% select(indicator_id = indicatorID, indicator) %>% distinct) %>%
mutate(
male_t = male_indicator_coeff / male_indicator_se,
female_t = female_indicator_coeff / female_indicator_se
) %>%
select(indicator_id, indicator, male_t, female_t) %>%
arrange(desc(abs(male_t))) %>%
mutate(
male_rank = 1 + length(male_t) - rank(abs(male_t)),
female_rank = 1 + length(female_t) - rank(abs(female_t))) %>%
filter(abs(male_t) > 2 | abs(female_t) > 2) %>%
mutate(male_t = round(male_t, 2), female_t = round(female_t, 2)) %>%
mutate(diff = male_rank - female_rank) %>%
knitr::kable(caption = "Signal strength of indicators on male and female age-standardised all-cause mortality trends")
## Joining, by = "indicator_id"
| indicator_id | indicator | male_t | female_t | male_rank | female_rank | diff |
|---|---|---|---|---|---|---|
| NY.GDP.PCAP.PP.CD | GDP per capita, PPP (current international $) | -36.88 | -37.84 | 1 | 1 | 0 |
| SE.ENR.PRIM.FM.ZS | School enrollment, primary (gross), gender parity index (GPI) | -24.53 | -35.60 | 2 | 2 | 0 |
| SP.URB.TOTL.FE.ZS | Urban population, female (% of total) | -23.68 | -28.97 | 3 | 5 | -2 |
| SP.URB.TOTL.MA.ZS | Urban population, male (% of total) | -23.56 | -25.20 | 4 | 6 | -2 |
| SE.ENR.PRSC.FM.ZS | School enrollment, primary and secondary (gross), gender parity index (GPI) | -21.23 | -33.14 | 5 | 3 | 2 |
| SE.ENR.TERT.FM.ZS | School enrollment, tertiary (gross), gender parity index (GPI) | -20.02 | -24.92 | 6 | 7 | -1 |
| SE.ENR.SECO.FM.ZS | School enrollment, secondary (gross), gender parity index (GPI) | -19.31 | -31.10 | 7 | 4 | 3 |
| SH.HIV.ARTC.MA.ZS | Access to anti-retroviral drugs, male (%) | -18.59 | -19.15 | 8 | 8 | 0 |
| SH.HIV.ARTC.FE.ZS | Access to anti-retroviral drugs, female (%) | -14.95 | -16.06 | 9 | 11 | -2 |
| SG.H2O.PRMS.HH.ZS | Households with water on the premises (%) | -10.70 | -15.60 | 10 | 12 | -2 |
| SE.NED.HIAT.MA.ZS | Educational attainment, no schooling, population 25+ years, male (%) | 10.02 | 16.22 | 11 | 9 | 2 |
| SE.ADT.1524.LT.FM.ZS | Literacy rate, youth (ages 15-24), gender parity index (GPI) | -9.39 | -13.75 | 12 | 13 | -1 |
| SE.NED.HIAT.FE.ZS | Educational attainment, no schooling, population 25+ years, female (%) | 9.32 | 16.12 | 13 | 10 | 3 |
| SG.H2O.TM30.HH.ZS | Households with water 30 minutes or longer away round trip (%) | 9.05 | 11.57 | 14 | 15 | -1 |
| UNDP.HDI.XD | Human development index (HDI) | -8.10 | -13.41 | 15 | 14 | 1 |
| SG.COK.LPGN.ZS | Main cooking fuel: LPG/natural gas/biogas (% of households) | -7.95 | -10.61 | 16 | 16 | 0 |
| SL.UEM.1524.FM.ZS | Ratio of female to male youth unemployment rate (% ages 15-24) (modeled ILO estimate) | -7.03 | -4.98 | 17 | 22 | -5 |
| 5.51.01.07.gender | Gender equality in education | -6.48 | -7.87 | 18 | 19 | -1 |
| SG.COK.WOOD.ZS | Main cooking fuel: wood (% of households) | 5.94 | 8.30 | 19 | 18 | 1 |
| SG.COK.OUTD.ZS | Location of cooking: outdoors (% of households) | 3.92 | 5.01 | 20 | 21 | -1 |
| MO.INDEX.XQ | Overall Mo Ibrahim index | -3.73 | -10.02 | 21 | 17 | 4 |
| SG.COK.ELEC.ZS | Main cooking fuel: electricity (% of households) | 3.22 | 1.03 | 22 | 30 | -8 |
| SG.DMK.HLTH.HB.ZS | Decision maker about a woman’s own health care: mainly husband (% of women age 15-49) | 3.10 | 5.20 | 23 | 20 | 3 |
| SG.DMK.HLTH.FN.ZS | Women participating in own health care decisions (% of women age 15-49) | -2.74 | -4.82 | 24 | 23 | 1 |
| SG.COK.HOUS.ZS | Location of cooking: inside the house (% of households) | -2.70 | -4.16 | 25 | 24 | 1 |
| SG.CRT.TSTM.WT | Woman’s testimony carries the same evidentiary weight in court as a man’s (1=yes; 0=no) | 2.64 | 0.51 | 26 | 33 | -7 |
| SG.COK.CHCO.ZS | Main cooking fuel: charcoal (% of households) | 2.32 | 3.85 | 27 | 25 | 2 |
| SG.DMK.FOOD.FN.ZS | Women participating in decision of what food to cook daily (% of women age 15-49) | -1.08 | -2.18 | 31 | 28 | 3 |
| SG.DMK.DPCH.FN.ZS | Women participating in making daily purchase decisions (% of women age 15-49) | -1.02 | -2.18 | 32 | 27 | 5 |
| SG.GEN.TECH.ZS | Female professional and technical workers (% of total) | 0.00 | -2.40 | 34 | 26 | 8 |
The above shows the ‘signal strength’ of the different indicators once year is controlled for. For both genders GDP per capital has the strongest signal, followed by gender parity in primary school enrollment. For males, age-standardised mortality rates are then most strongly predicted by the female urban population (% of total), followed by male urban population as % of total. For females, the third strongest signal is gender parity in primary and secondary school enrollment, followed by gender parity in secondary school (only) enrollment rates.
mort_rate_data_joined %>%
filter(cause == "Non-communicable diseases") %>%
select(country, year, sex, std_mort_rate, indicator_id, indicator, indicator_value) %>%
filter(!is.na(indicator_value)) %>%
group_by(indicator_id) %>%
nest() %>%
mutate(male_model = map(
data,
function(x) {
x %>%
filter(sex == "Male") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(female_model = map(
data,
function(x) {
x %>%
filter(sex == "Female") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(
male_model_tidy = map(male_model, broom::tidy),
female_model_tidy = map(female_model, broom::tidy)
) %>%
mutate(
male_indicator_coeff = map_dbl(male_model_tidy, pull_indicator_coeff),
female_indicator_coeff = map_dbl(female_model_tidy, pull_indicator_coeff),
male_indicator_se = map_dbl(male_model_tidy, pull_indicator_se),
female_indicator_se = map_dbl(female_model_tidy, pull_indicator_se)
) %>%
select(indicator_id, male_indicator_coeff:female_indicator_se) %>%
left_join(wb_data %>% select(indicator_id = indicatorID, indicator) %>% distinct) %>%
mutate(
male_t = male_indicator_coeff / male_indicator_se,
female_t = female_indicator_coeff / female_indicator_se
) %>%
select(indicator_id, indicator, male_t, female_t) %>%
arrange(desc(abs(male_t))) %>%
mutate(
male_rank = 1 + length(male_t) - rank(abs(male_t)),
female_rank = 1 + length(female_t) - rank(abs(female_t))) %>%
filter(abs(male_t) > 2 | abs(female_t) > 2) %>%
mutate(male_t = round(male_t, 2), female_t = round(female_t, 2)) %>%
mutate(diff = male_rank - female_rank) %>%
knitr::kable(caption = "Signal strength of indicators on male and female age-standardised NCD mortality trends")
## Joining, by = "indicator_id"
| indicator_id | indicator | male_t | female_t | male_rank | female_rank | diff |
|---|---|---|---|---|---|---|
| NY.GDP.PCAP.PP.CD | GDP per capita, PPP (current international $) | -25.88 | -36.33 | 1 | 1 | 0 |
| SH.HIV.ARTC.MA.ZS | Access to anti-retroviral drugs, male (%) | -15.66 | -20.55 | 2 | 3 | -1 |
| SH.HIV.ARTC.FE.ZS | Access to anti-retroviral drugs, female (%) | -12.46 | -17.18 | 3 | 7 | -4 |
| SP.URB.TOTL.MA.ZS | Urban population, male (% of total) | -10.96 | -19.60 | 4 | 4 | 0 |
| SP.URB.TOTL.FE.ZS | Urban population, female (% of total) | -9.05 | -22.35 | 5 | 2 | 3 |
| SL.UEM.1524.FM.ZS | Ratio of female to male youth unemployment rate (% ages 15-24) (modeled ILO estimate) | -5.11 | -0.84 | 6 | 32 | -26 |
| MO.INDEX.XQ | Overall Mo Ibrahim index | 4.92 | -10.03 | 7 | 11 | -4 |
| 5.51.01.07.gender | Gender equality in education | -4.74 | -8.67 | 8 | 13 | -5 |
| SG.COK.ELEC.ZS | Main cooking fuel: electricity (% of households) | 4.60 | 1.17 | 9 | 31 | -22 |
| SL.UEM.1524.FM.NE.ZS | Ratio of female to male youth unemployment rate (%) (national estimate) | -2.49 | 1.89 | 10 | 25 | -15 |
| SG.GEN.TECH.ZS | Female professional and technical workers (% of total) | 2.33 | -1.58 | 11 | 26 | -15 |
| SG.DMK.HLTH.HB.ZS | Decision maker about a woman’s own health care: mainly husband (% of women age 15-49) | -2.28 | 1.24 | 12 | 30 | -18 |
| SE.ENR.SECO.FM.ZS | School enrollment, secondary (gross), gender parity index (GPI) | 2.24 | -16.43 | 13 | 8 | 5 |
| SG.COK.DUNG.ZS | Main cooking fuel: dung (% of households) | 2.22 | 2.41 | 14 | 22 | -8 |
| SG.CRT.TSTM.WT | Woman’s testimony carries the same evidentiary weight in court as a man’s (1=yes; 0=no) | 2.14 | -1.31 | 15 | 28 | -13 |
| SE.ENR.TERT.FM.ZS | School enrollment, tertiary (gross), gender parity index (GPI) | -1.49 | -13.32 | 17 | 9 | 8 |
| SG.DMK.HLTH.FN.ZS | Women participating in own health care decisions (% of women age 15-49) | 1.41 | -2.06 | 18 | 24 | -6 |
| SE.ENR.PRSC.FM.ZS | School enrollment, primary and secondary (gross), gender parity index (GPI) | 1.33 | -17.46 | 19 | 6 | 13 |
| SG.COK.WOOD.ZS | Main cooking fuel: wood (% of households) | -1.21 | 2.42 | 20 | 21 | -1 |
| SG.COK.OUTD.ZS | Location of cooking: outdoors (% of households) | 1.00 | 2.57 | 21 | 20 | 1 |
| UNDP.HDI.XD | Human development index (HDI) | 0.99 | -7.46 | 22 | 14 | 8 |
| SE.ENR.PRIM.FM.ZS | School enrollment, primary (gross), gender parity index (GPI) | 0.87 | -19.01 | 23 | 5 | 18 |
| SG.H2O.TM30.HH.ZS | Households with water 30 minutes or longer away round trip (%) | -0.66 | 3.99 | 25 | 18 | 7 |
| SE.ADT.1524.LT.FM.ZS | Literacy rate, youth (ages 15-24), gender parity index (GPI) | 0.37 | -7.09 | 27 | 15 | 12 |
| SG.COK.LPGN.ZS | Main cooking fuel: LPG/natural gas/biogas (% of households) | -0.33 | -4.04 | 28 | 17 | 11 |
| SG.H2O.PRMS.HH.ZS | Households with water on the premises (%) | 0.26 | -5.96 | 29 | 16 | 13 |
| SG.DMK.FOOD.FN.ZS | Women participating in decision of what food to cook daily (% of women age 15-49) | 0.18 | -2.16 | 30 | 23 | 7 |
| SG.COK.CHCO.ZS | Main cooking fuel: charcoal (% of households) | -0.13 | 3.35 | 32 | 19 | 13 |
| SE.NED.HIAT.MA.ZS | Educational attainment, no schooling, population 25+ years, male (%) | 0.12 | 9.56 | 33 | 12 | 21 |
| SE.NED.HIAT.FE.ZS | Educational attainment, no schooling, population 25+ years, female (%) | -0.12 | 10.17 | 34 | 10 | 24 |
Gender differences in the signal strength of these indicators appear much larger for NCD mortality than all cause mortality. Note also that the direction of effects goes in the opposite direction for some indicators, though only for the Mo Ibrahim index are the effects in opposite directions and the t values > 2.
The rank importance of access to anti-retroviral drugs is increased, to 2nd and 3rd place after GDP per capita.
Now to look at the equivalent for DALYs
daly_rate_data_joined %>%
filter(cause == "All causes") %>%
select(country, year, sex, std_mort_rate, indicator_id, indicator, indicator_value) %>%
filter(!is.na(indicator_value)) %>%
group_by(indicator_id) %>%
nest() %>%
mutate(male_model = map(
data,
function(x) {
x %>%
filter(sex == "Male") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(female_model = map(
data,
function(x) {
x %>%
filter(sex == "Female") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(
male_model_tidy = map(male_model, broom::tidy),
female_model_tidy = map(female_model, broom::tidy)
) %>%
mutate(
male_indicator_coeff = map_dbl(male_model_tidy, pull_indicator_coeff),
female_indicator_coeff = map_dbl(female_model_tidy, pull_indicator_coeff),
male_indicator_se = map_dbl(male_model_tidy, pull_indicator_se),
female_indicator_se = map_dbl(female_model_tidy, pull_indicator_se)
) %>%
select(indicator_id, male_indicator_coeff:female_indicator_se) %>%
left_join(wb_data %>% select(indicator_id = indicatorID, indicator) %>% distinct) %>%
mutate(
male_t = male_indicator_coeff / male_indicator_se,
female_t = female_indicator_coeff / female_indicator_se
) %>%
select(indicator_id, indicator, male_t, female_t) %>%
arrange(desc(abs(male_t))) %>%
mutate(
male_rank = 1 + length(male_t) - rank(abs(male_t)),
female_rank = 1 + length(female_t) - rank(abs(female_t))) %>%
filter(abs(male_t) > 2 | abs(female_t) > 2) %>%
mutate(male_t = round(male_t, 2), female_t = round(female_t, 2)) %>%
mutate(diff = male_rank - female_rank) %>%
knitr::kable(caption = "Signal strength of indicators on male and female age-standardised all-cause DALY rate trends")
## Joining, by = "indicator_id"
| indicator_id | indicator | male_t | female_t | male_rank | female_rank | diff |
|---|---|---|---|---|---|---|
| NY.GDP.PCAP.PP.CD | GDP per capita, PPP (current international $) | -34.36 | -34.06 | 1 | 4 | -3 |
| SE.ENR.PRIM.FM.ZS | School enrollment, primary (gross), gender parity index (GPI) | -33.61 | -41.83 | 2 | 1 | 1 |
| SE.ENR.PRSC.FM.ZS | School enrollment, primary and secondary (gross), gender parity index (GPI) | -29.51 | -38.32 | 3 | 2 | 1 |
| SE.ENR.SECO.FM.ZS | School enrollment, secondary (gross), gender parity index (GPI) | -26.88 | -35.18 | 4 | 3 | 1 |
| SP.URB.TOTL.FE.ZS | Urban population, female (% of total) | -24.79 | -26.92 | 5 | 5 | 0 |
| SP.URB.TOTL.MA.ZS | Urban population, male (% of total) | -23.60 | -23.44 | 6 | 7 | -1 |
| SE.ENR.TERT.FM.ZS | School enrollment, tertiary (gross), gender parity index (GPI) | -23.44 | -26.02 | 7 | 6 | 1 |
| SH.HIV.ARTC.MA.ZS | Access to anti-retroviral drugs, male (%) | -18.53 | -17.92 | 8 | 8 | 0 |
| SH.HIV.ARTC.FE.ZS | Access to anti-retroviral drugs, female (%) | -15.23 | -15.14 | 9 | 13 | -4 |
| SE.NED.HIAT.MA.ZS | Educational attainment, no schooling, population 25+ years, male (%) | 13.31 | 17.00 | 10 | 9 | 1 |
| SG.H2O.PRMS.HH.ZS | Households with water on the premises (%) | -13.20 | -16.12 | 11 | 11 | 0 |
| SE.ADT.1524.LT.FM.ZS | Literacy rate, youth (ages 15-24), gender parity index (GPI) | -12.75 | -15.95 | 12 | 12 | 0 |
| SE.NED.HIAT.FE.ZS | Educational attainment, no schooling, population 25+ years, female (%) | 12.59 | 16.73 | 13 | 10 | 3 |
| UNDP.HDI.XD | Human development index (HDI) | -11.01 | -14.38 | 14 | 14 | 0 |
| SG.H2O.TM30.HH.ZS | Households with water 30 minutes or longer away round trip (%) | 10.34 | 11.36 | 15 | 15 | 0 |
| SG.COK.LPGN.ZS | Main cooking fuel: LPG/natural gas/biogas (% of households) | -9.37 | -10.95 | 16 | 16 | 0 |
| SG.COK.WOOD.ZS | Main cooking fuel: wood (% of households) | 7.50 | 9.00 | 17 | 18 | -1 |
| SL.UEM.1524.FM.ZS | Ratio of female to male youth unemployment rate (% ages 15-24) (modeled ILO estimate) | -6.36 | -5.28 | 18 | 23 | -5 |
| MO.INDEX.XQ | Overall Mo Ibrahim index | -5.98 | -9.53 | 19 | 17 | 2 |
| 5.51.01.07.gender | Gender equality in education | -5.97 | -6.57 | 20 | 19 | 1 |
| SG.COK.OUTD.ZS | Location of cooking: outdoors (% of households) | 4.94 | 5.76 | 21 | 22 | -1 |
| SG.DMK.HLTH.HB.ZS | Decision maker about a woman’s own health care: mainly husband (% of women age 15-49) | 4.88 | 6.46 | 22 | 20 | 2 |
| SG.DMK.HLTH.FN.ZS | Women participating in own health care decisions (% of women age 15-49) | -4.31 | -5.82 | 23 | 21 | 2 |
| SG.COK.HOUS.ZS | Location of cooking: inside the house (% of households) | -3.81 | -4.88 | 24 | 24 | 0 |
| SG.COK.CHCO.ZS | Main cooking fuel: charcoal (% of households) | 2.65 | 3.47 | 25 | 25 | 0 |
| SG.CRT.TSTM.WT | Woman’s testimony carries the same evidentiary weight in court as a man’s (1=yes; 0=no) | 2.20 | 0.73 | 26 | 33 | -7 |
| SG.COK.ELEC.ZS | Main cooking fuel: electricity (% of households) | 2.10 | 0.75 | 27 | 32 | -5 |
| SG.DMK.DPCH.FN.ZS | Women participating in making daily purchase decisions (% of women age 15-49) | -2.07 | -2.92 | 28 | 26 | 2 |
| SG.DMK.FOOD.FN.ZS | Women participating in decision of what food to cook daily (% of women age 15-49) | -1.92 | -2.79 | 29 | 27 | 2 |
| SG.GEN.TECH.ZS | Female professional and technical workers (% of total) | -0.73 | -2.60 | 32 | 28 | 4 |
For DALY rate trends, the signal strength of school enrollment gender parity is stronger for females than that of GDP per capita.
Now, finally, to look at DALY rates related to NCDs
daly_rate_data_joined %>%
filter(cause == "Non-communicable diseases") %>%
select(country, year, sex, std_mort_rate, indicator_id, indicator, indicator_value) %>%
filter(!is.na(indicator_value)) %>%
group_by(indicator_id) %>%
nest() %>%
mutate(male_model = map(
data,
function(x) {
x %>%
filter(sex == "Male") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(female_model = map(
data,
function(x) {
x %>%
filter(sex == "Female") %>%
lm(std_mort_rate ~ year + indicator_value, data = .)
}
)
) %>%
mutate(
male_model_tidy = map(male_model, broom::tidy),
female_model_tidy = map(female_model, broom::tidy)
) %>%
mutate(
male_indicator_coeff = map_dbl(male_model_tidy, pull_indicator_coeff),
female_indicator_coeff = map_dbl(female_model_tidy, pull_indicator_coeff),
male_indicator_se = map_dbl(male_model_tidy, pull_indicator_se),
female_indicator_se = map_dbl(female_model_tidy, pull_indicator_se)
) %>%
select(indicator_id, male_indicator_coeff:female_indicator_se) %>%
left_join(wb_data %>% select(indicator_id = indicatorID, indicator) %>% distinct) %>%
mutate(
male_t = male_indicator_coeff / male_indicator_se,
female_t = female_indicator_coeff / female_indicator_se
) %>%
select(indicator_id, indicator, male_t, female_t) %>%
arrange(desc(abs(male_t))) %>%
mutate(
male_rank = 1 + length(male_t) - rank(abs(male_t)),
female_rank = 1 + length(female_t) - rank(abs(female_t))) %>%
filter(abs(male_t) > 2 | abs(female_t) > 2) %>%
mutate(male_t = round(male_t, 2), female_t = round(female_t, 2)) %>%
mutate(diff = male_rank - female_rank) %>%
knitr::kable(caption = "Signal strength of indicators on male and female age-standardised NCD DALY rate trends")
## Joining, by = "indicator_id"
| indicator_id | indicator | male_t | female_t | male_rank | female_rank | diff |
|---|---|---|---|---|---|---|
| NY.GDP.PCAP.PP.CD | GDP per capita, PPP (current international $) | -30.56 | -31.95 | 1 | 1 | 0 |
| SH.HIV.ARTC.MA.ZS | Access to anti-retroviral drugs, male (%) | -18.95 | -18.97 | 2 | 6 | -4 |
| SH.HIV.ARTC.FE.ZS | Access to anti-retroviral drugs, female (%) | -15.38 | -15.93 | 3 | 8 | -5 |
| SP.URB.TOTL.MA.ZS | Urban population, male (% of total) | -13.77 | -17.41 | 4 | 7 | -3 |
| SP.URB.TOTL.FE.ZS | Urban population, female (% of total) | -12.60 | -21.11 | 5 | 4 | 1 |
| SE.ENR.PRIM.FM.ZS | School enrollment, primary (gross), gender parity index (GPI) | -6.07 | -24.51 | 6 | 2 | 4 |
| 5.51.01.07.gender | Gender equality in education | -5.21 | -8.17 | 7 | 14 | -7 |
| SE.ENR.TERT.FM.ZS | School enrollment, tertiary (gross), gender parity index (GPI) | -5.17 | -13.11 | 8 | 9 | -1 |
| SE.ENR.PRSC.FM.ZS | School enrollment, primary and secondary (gross), gender parity index (GPI) | -4.84 | -21.66 | 9 | 3 | 6 |
| SL.UEM.1524.FM.ZS | Ratio of female to male youth unemployment rate (% ages 15-24) (modeled ILO estimate) | -4.60 | 1.10 | 10 | 32 | -22 |
| SE.ENR.SECO.FM.ZS | School enrollment, secondary (gross), gender parity index (GPI) | -3.63 | -19.68 | 11 | 5 | 6 |
| SG.COK.ELEC.ZS | Main cooking fuel: electricity (% of households) | 3.16 | -0.16 | 12 | 34 | -22 |
| SE.NED.HIAT.MA.ZS | Educational attainment, no schooling, population 25+ years, male (%) | 2.76 | 11.80 | 13 | 12 | 1 |
| SE.ADT.1524.LT.FM.ZS | Literacy rate, youth (ages 15-24), gender parity index (GPI) | -2.75 | -9.54 | 14 | 13 | 1 |
| SE.NED.HIAT.FE.ZS | Educational attainment, no schooling, population 25+ years, female (%) | 2.69 | 12.70 | 15 | 10 | 5 |
| SG.COK.DUNG.ZS | Main cooking fuel: dung (% of households) | 2.28 | 3.37 | 16 | 19 | -3 |
| MO.INDEX.XQ | Overall Mo Ibrahim index | 2.23 | -12.44 | 17 | 11 | 6 |
| SG.COK.OUTD.ZS | Location of cooking: outdoors (% of households) | 2.03 | 3.17 | 18 | 22 | -4 |
| SL.UEM.1524.FM.NE.ZS | Ratio of female to male youth unemployment rate (%) (national estimate) | -1.71 | 3.39 | 19 | 18 | 1 |
| SG.GEN.TECH.ZS | Female professional and technical workers (% of total) | 1.68 | -2.88 | 20 | 25 | -5 |
| SG.CRT.TSTM.WT | Woman’s testimony carries the same evidentiary weight in court as a man’s (1=yes; 0=no) | 1.59 | -2.12 | 21 | 28 | -7 |
| SG.COK.LPGN.ZS | Main cooking fuel: LPG/natural gas/biogas (% of households) | -1.59 | -3.52 | 22 | 17 | 5 |
| SG.H2O.PRMS.HH.ZS | Households with water on the premises (%) | -1.40 | -5.55 | 23 | 16 | 7 |
| UNDP.HDI.XD | Human development index (HDI) | -1.03 | -7.91 | 24 | 15 | 9 |
| SG.DMK.HLTH.HB.ZS | Decision maker about a woman’s own health care: mainly husband (% of women age 15-49) | -0.74 | 2.21 | 26 | 27 | -1 |
| SG.DMK.FOOD.FN.ZS | Women participating in decision of what food to cook daily (% of women age 15-49) | -0.67 | -3.29 | 27 | 20 | 7 |
| SG.COK.CHCO.ZS | Main cooking fuel: charcoal (% of households) | 0.57 | 3.17 | 28 | 23 | 5 |
| SG.H2O.TM30.HH.ZS | Households with water 30 minutes or longer away round trip (%) | 0.31 | 2.91 | 30 | 24 | 6 |
| SG.COK.WOOD.ZS | Main cooking fuel: wood (% of households) | 0.25 | 2.40 | 31 | 26 | 5 |
| SG.DMK.HLTH.FN.ZS | Women participating in own health care decisions (% of women age 15-49) | -0.01 | -3.19 | 34 | 21 | 13 |