::libraries(
easypackages
# Data i/o
"here", # relative file path
"rio", # file import-export
# Data manipulation
"janitor", # data cleaning fns
"haven", # stata, sas, spss data io
"labelled", # var labelling
"readxl", # excel sheets
# "scales", # to change formats and units
"skimr", # quick data summary
"broom", # view model results
# Data analysis
"DHS.rates", # demographic rates for dhs-like surveys
"GeneralOaxaca", # BO decomposition for non-linear
"survey", # apply survey weights
"survival", # base pkg for survival analysis
# Analysis output
"gt",
# "modelsummary", # output summary tables
"gtsummary", # output summary tables
"flextable", # creating tables from objects
"officer", # editing in office docs
# R graph related packages
"ggstats", # graph of regression estimates
"RColorBrewer", # graph themes
# "scales",
"patchwork", # combining graphs
# Misc packages
"tidyverse", # Data manipulation iron man
"tictoc" # Code timing
)
BDDHS preliminary data analysis
Getting started
Here we show the pre-requisite code sections. Run these at the outset to avoid errors. First we load the required packages.
Next we turn off scientific notations.
options(scipen = 999)
Next we set the default gtsummary print engine for tables.
theme_gtsummary_printer(print_engine = "flextable")
Now we set the flextable output defaults.
set_flextable_defaults(
font.size = 11,
text.align = "left",
big.mark = "",
background.color = "white",
table.layout = "autofit",
theme_fun = theme_vanilla
)
Document introduction
In this document we do preliminary analysis of examining infant mortality clustering under mothers in the pooled Bangladesh Demographic and Health Survey (BDDHS) datasets. This document has selected code for analysis and the full spectrum of preliminary analysis are available in the “bddhs_datanal1.R” script file.
Data source
Here we use the pooled dataset of 9 existing rounds of Bangladesh Demographic and Health Survey (BDDHS) conducted during 1993, 1996, 1999, 2004, 2007, 2011, 2014, 2017 and 2022. The BDDHS implemented a multi-stage cluster sampling design. Details regarding the sample design, survey instruments, informed consent, training of interviewers and other fieldwork officers, data collection and processing, and response rates are available in the final report of the respective surveys.
We pooled the raw birth histories of ever-married women in the reproductive age group (15-49 years) across all the pre-specified rounds. We manually harmonized all required datasets so that our study variables have consistent categorisation and label codes across the surveys. The pooled dataset harmonization and pooling codes are in “bddhsv2_daprep.R”. Also, we have a variable harmonization documentation called “bddhs_datapl1_pre.html” which shows how the variable labels and label codes vary across the raw BDDHS datasets.
Now, please note that the following Bangladesh DHS surveys were pooled:
# Creating the table of surveys to be used for pooling
|>
bdbr1_tmp_intro mutate(n_births = prettyNum(n_births, big.mark = ",")) |>
select(c(ctr_name, svy_year, n_births)) |>
# Join vars from bdhr_tmp_intro
left_join(
|>
bdhr1_tmp_intro mutate(n_households = prettyNum(n_households, big.mark = ",")) |>
select(svy_year, n_households),
by = join_by(svy_year)
|>
) # Join vars from bdpr_tmp_intro
left_join(
|>
bdpr1_tmp_intro mutate(n_persons = prettyNum(n_persons, big.mark = ",")) |>
select(svy_year, n_persons),
by = join_by(svy_year)
|>
) # convert nested tibble to simple tibble
unnest(cols = c()) |>
mutate(
ccode = row_number(),
.before = ctr_name
|>
) # convert to flextable object
qflextable() |>
theme_vanilla() |>
align(align = "left", part = "all")
ccode | ctr_name | svy_year | n_births | n_households | n_persons |
---|---|---|---|---|---|
1 | Bangladesh | 1993 | 32,581 | 9,174 | 51,631 |
2 | Bangladesh | 1996 | 29,344 | 8,682 | 47,432 |
3 | Bangladesh | 1999 | 31,906 | 9,854 | 54,627 |
4 | Bangladesh | 2004 | 33,597 | 10,500 | 55,883 |
5 | Bangladesh | 2007 | 30,527 | 10,400 | 53,413 |
6 | Bangladesh | 2011 | 45,833 | 17,141 | 83,731 |
7 | Bangladesh | 2014 | 43,772 | 17,300 | 81,624 |
8 | Bangladesh | 2017 | 47,828 | 19,457 | 89,819 |
9 | Bangladesh | 2022 | 64,722 | 30,018 | 132,463 |
Note that the information on birth histories was available for 164,761 children. The current study utilised pooled retrospective birth histories of children born between 1970 to 2022 (till the interview date). Therefore, the analytical sample size of this study is 163,544 children.
Study variables
We use the following variables for the pooled data analysis:
- Dependent variable
- infantd = Index child died during infancy period (0-11 months)
- Main Independent variable
- sibsurv_nmv = Survival status of preceding child (Death scarring)
- binterval_3c_nmv_opp = Birth interval preceding to index child
- Independent variables [CHILD LEVEL]
- cyob10y_opp = Birth cohort of index child
- bord_c = Birth order of index child
- sex_fm = Gender of index child
- season = Season during birth
- Independent variables [MOTHER/PARENT LEVEL]
myob_opp = Birth cohort of mother- macb_c_opp = Mother’s age during birth of index child
- medu_opp = Mother’s Level of education
- fedu_opp = Father’s level of education
- Independent variables [HOUSEHOLD LEVEL]
- religion = Religion
- nat_lang = Native language of respondent
- wi_qt_opp = Household wealth quintile
hhgen_2c_opp = Generations in household- hhstruc_opp = Household structure
- head_sex_fm = Sex of HH head
- Independent variables [COMMUNITY LEVEL]
- por = Place of residence of the household
- ecoreg = Ecological region
Note: (a) Crossed names indicates variable not included.
Statistical methods
We first conducted descriptive analysis to examine the absolute and percentage distribution of births by background characteristics in the pooled dataset. Next we explored the distribution of infant mortality by birth cohorts and survey periods. Also, we examined the trend in childhood mortality (neonatal, infant and under-five mortality) rates across the Bangladesh DHS survey rounds. Next, we performed bivariate analysis to assess the unadjusted relationship between infant mortality and the main independent variables using the chi-square test for association. To estimate the adjusted associations, we applied multivariable logistic regression models on the pooled dataset covering 1970-2022.
Data import
We will directly import the prepared dataset for analysis here. The code for dataset preparation is in the “bddhsv2_daprep.R” script file.
# Importing the pooled bdbr tibble
<- read_rds(
bdbr1_pl1 file = here("website_data", "bdbr1_pl1.rds")
)
# Prepare the survey weighted dataset
options(survey.lonely.psu = "adjust")
options(survey.adjust.domain.lonely = T)
<- svydesign(
svy_bdbr1_pl1 data = bdbr1_pl1,
ids = ~ as.numeric(svy_psu),
strata = ~ as.numeric(svy_strata),
weight = ~ svy_wwgt6,
probs = NULL,
nest = T
)
Descriptive analysis
Sample distribution of births
We will check the distribution of births by background characteristics in Bangladesh 1970-2022.
# Now, we merge the unweighted and weighted tables and view it
<- tbl_merge(
t1 tbls = list(t1_wt, t1_ut),
tab_spanner = c("**Weighted**", "**Unweighted**")
|>
) modify_footnote(
~ "n (%) = Distribution and column percentage (weighted);",
stat_0_1 ~ "n (%) = Distribution and column percentage (unweighted)"
stat_0_2 |>
) as_flex_table() |>
theme_vanilla()
t1
| Weighted | Unweighted |
---|---|---|
Characteristic | N = 913,346,5561 | N = 349,9622 |
Death scarring | ||
Alive | 514,904,887 (56.4%) | 195,665 (55.9%) |
Dead | 97,293,820 (10.7%) | 34,379 (9.8%) |
First order births | 301,147,850 (33.0%) | 119,918 (34.3%) |
Death scarring | ||
Alive | 514,904,887 (56.4%) | 195,665 (55.9%) |
Dead after conception | 23,980,882 (2.6%) | 8,239 (2.4%) |
Dead before conception | 73,312,937 (8.0%) | 26,140 (7.5%) |
First order births | 301,147,850 (33.0%) | 119,918 (34.3%) |
Preceding birth interval (in months) | ||
24 and more months | 472,154,835 (51.7%) | 177,834 (50.8%) |
18-23 months | 79,264,465 (8.7%) | 29,220 (8.3%) |
Less than 18 months | 60,779,406 (6.7%) | 22,990 (6.6%) |
First order births | 301,147,850 (33.0%) | 119,918 (34.3%) |
Birth cohort of index child | ||
2010 and above | 107,107,560 (11.7%) | 55,742 (15.9%) |
2000-2009 | 214,936,478 (23.5%) | 92,065 (26.3%) |
1990-1999 | 287,372,873 (31.5%) | 103,624 (29.6%) |
1980-1989 | 220,106,757 (24.1%) | 72,189 (20.6%) |
1970-1979 | 83,822,888 (9.2%) | 26,342 (7.5%) |
Birth order | ||
1-2 | 536,207,139 (58.7%) | 212,503 (60.7%) |
3 | 153,898,955 (16.9%) | 58,420 (16.7%) |
4 | 93,841,570 (10.3%) | 34,252 (9.8%) |
5 and more | 129,398,892 (14.2%) | 44,787 (12.8%) |
Sex of child | ||
Female | 445,492,696 (48.8%) | 170,525 (48.7%) |
Male | 467,853,861 (51.2%) | 179,437 (51.3%) |
Season during birth | ||
Summer/pre-monsoon | 272,262,473 (29.8%) | 104,399 (29.8%) |
Monsoon | 208,789,167 (22.9%) | 80,232 (22.9%) |
Winter/post-monsoon | 432,294,917 (47.3%) | 165,331 (47.2%) |
Mother's age at child birth (in years) | ||
Above 29 years | 103,048,119 (11.3%) | 39,265 (11.2%) |
25-29 years | 169,767,336 (18.6%) | 66,132 (18.9%) |
20-24 years | 292,464,253 (32.0%) | 113,470 (32.4%) |
Below 20 years | 348,066,848 (38.1%) | 131,095 (37.5%) |
Mother's education | ||
Secondary or higher | 232,945,635 (25.5%) | 102,885 (29.4%) |
Upto Primary | 278,431,181 (30.5%) | 110,140 (31.5%) |
No formal schooling | 401,969,740 (44.0%) | 136,937 (39.1%) |
Father's education | ||
Secondary or higher | 278,004,208 (30.4%) | 110,433 (31.6%) |
Upto primary | 237,404,080 (26.0%) | 90,147 (25.8%) |
No formal schooling | 397,938,269 (43.6%) | 149,382 (42.7%) |
Religion of the household | ||
Islam | 827,755,878 (90.6%) | 315,698 (90.2%) |
Others | 85,503,455 (9.4%) | 34,238 (9.8%) |
Unknown | 87,223 | 26 |
Wealth index quintile | ||
Richest | 157,253,196 (17.2%) | 68,327 (19.5%) |
Richer | 177,418,951 (19.4%) | 68,309 (19.5%) |
Middle | 185,811,445 (20.3%) | 69,353 (19.8%) |
Poorer | 195,948,801 (21.5%) | 71,723 (20.5%) |
Poorest | 196,914,163 (21.6%) | 72,250 (20.6%) |
Household structure | ||
Extended | 430,842,462 (47.2%) | 167,753 (47.9%) |
Nuclear | 482,504,094 (52.8%) | 182,209 (52.1%) |
Sex of household head | ||
Female | 96,735,517 (10.6%) | 38,193 (10.9%) |
Male | 816,611,039 (89.4%) | 311,769 (89.1%) |
Place of residence | ||
Urban | 182,944,415 (20.0%) | 100,837 (28.8%) |
Rural | 730,402,142 (80.0%) | 249,125 (71.2%) |
1n (%) = Distribution and column percentage (weighted); | ||
2n (%) = Distribution and column percentage (unweighted) |
Table 2 presents the sample characteristics of all births from the complete birth histories of Bangladesh from 1970 to 2022. The distribution of our two main explanatory variables, shows that there were 11% children whose previous sibling had died before their birth. Most children in Bangladesh had a preceding birth interval of 24 months or more. Among the children considered in the study, the majority were from the 1990-99 birth cohort (35.5%), followed by the 2000-09 cohort (23.1%) and the 1980-89 cohort (22.7%). More than half of the children were male (51.2%) and belonged to the first or second birth order (56.4%).
Almost 38% of children were born when their mothers were aged 20-24 years, followed by 24% whose mothers were less than 20 years old. Nearly 71% of mothers and 36% of fathers had no formal schooling. Most households practised Hinduism (84.8%), and Bangladeshi was the primary language spoken in almost 46% of households. The majority of children lived in rural areas (75.7%) and in the Terai region (52.7%), followed by the Hill region (40%) and the Mountain region (7.3%).
Distribution of infant deaths by birth cohort and survey period
Here we prepare the data of infant mortality by birth cohort and then by survey period. Using the data we prepare the graph of distribution of infant deaths by birth cohort and survey period.
# Let's create the lollipop chart.
<- f1_cohort_tibble |>
fig1_cohort ggplot(aes(y = birth_cohort, x = pct_dead)) +
# adding line segment or lollipop stick
geom_segment(
aes(x = 0, xend = pct_dead, y = birth_cohort, yend = birth_cohort),
linewidth = 2,
colour = "green4"
+
)
# adding the point or lollipop head
geom_point(
shape = 21,
size = 15,
fill = "white",
colour = "green4"
+
)
# adding the percentage text
geom_text(
aes(label = pct_dead),
fontface = "bold"
+
)
labs(
# title = "(A) By Birth cohort",
x = "Weighted percentage of children",
y = "Birth cohort",
+
)
theme(
plot.title = element_text(size = rel(1.3), face = "bold"),
# plot.subtitle = element_text(size = rel(1.2)),
axis.title.x = element_text(size = rel(1.2)),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.y = element_text(size = rel(1.2)),
axis.text.y = element_text(size = rel(1.2))
) fig1_cohort

<- f1_period_tibble |>
fig1_period ggplot(aes(x = pct_dead, y = survey_year)) +
# adding the line
geom_segment(
aes(x = 0, xend = pct_dead, y = survey_year, yend = survey_year),
linewidth = 3,
colour = "orange3"
+
)
# adding the point
geom_point(
shape = 21,
size = 18,
fill = "white",
colour = "orange3"
+
)
# adding the percentage label
geom_text(
aes(label = pct_dead),
fontface = "bold"
+
)
labs(
# title = "(B) By Survey period",
x = "Weighted percentage of children",
y = "Survey period",
+
)
theme(
plot.title = element_text(size = rel(1.3), face = "bold"),
axis.title.x = element_text(size = rel(1.2)),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.y = element_text(size = rel(1.2)),
axis.text.y = element_text(size = rel(1.2))
) fig1_period

Figure 1 and Figure 2 further highlights the temporal shifts in infant mortality across different birth cohorts and survey periods. The results indicate a steady decline in infant mortality over time, with higher mortality rates in earlier birth cohorts (1970–1979), which gradually decreased in the subsequent cohorts. The most recent cohorts (2010 and later) exhibit the lowest mortality rates, reflecting improvements in child survival over the decades.
A similar trend can be observed for infant mortality in the survey rounds. Proportion of children who died during infancy were higher during the 1996 round, which continued to decrease in the recent 2022 round.
Childhood mortality rates by survey rounds
Here we calculate mortality rates across the Bangladesh DHS survey rounds using the DHS.Rates R package. First we prepared the dataset of childhood mortality rates and then we drew the graph.
# Now we prepare the connected scatter plots of nnmr, imr and u5mr
<- bdbrpl1_mortrates |>
fig2_svyround # filter the mortality rates
filter(mort_stat %in% c("nnmr", "imr", "u5mr")) |>
# prepare the graph
ggplot(aes(x = year, y = r, colour = mort_stat)) +
# add line
geom_path(linewidth = 1, alpha = 0.9) +
# add point
geom_point(size = 16, alpha = 0.9) +
# add label
geom_text(
aes(label = round(r, 0)),
colour = "white",
fontface = "bold"
+
) # give breaks according to survey round
scale_x_continuous(breaks = c(1996, 2001, 2006, 2011, 2016, 2022)) +
scale_colour_discrete(
label = c("Neonatal mortality rate", "Infant mortality rate",
"Under-five mortality rate")
+
)
# add labels
labs(
title = "Trends in Childhood mortality rates in Bangladesh DHS survey rounds",
x = "Survey round",
y = "Mortality rate (per 1000 live births)",
# This removes the legend title
colour = NULL
+
) # Modify the axis theme elements
theme(
plot.title = element_text(size = rel(1.4), face = "bold"),
axis.title.x = element_text(size = rel(1.2)),
axis.text.x = element_text(size = rel(1.2)),
axis.title.y = element_text(size = rel(1.2)),
axis.text.y = element_blank(),
axis.ticks.y = element_blank()
+
) # Modify the legend theme elements
theme(
# legend.key.size = unit(1, "points"),
legend.position = "top",
legend.text = element_text(size = rel(0.9))
+
) guides(color = guide_legend(override.aes = list(size = 8)))
fig2_svyround

Figure 3 also shows the childhood mortality rates (per 1000 live births) have decreased across the survey rounds. This pattern stands true for neonatal, infant and under-five mortalities. Additionally, this trend corroborates with the declining infant mortality trend observed in Figure 1 and Figure 2.
Bivariate analysis
Crosstab of infant mortality by background characteristics
Here we will check the crosstab tables of infant mortality with the independent variables using row percentages and check their association with the chi-square test.
# Creating the var list
<- c("infantd", "sibsurv_3c", "binterval_3c_opp",
vlist_t2 "cyob10y_opp", "bord_c", "sex_fm", "season", "macb_c_opp",
"medu_opp", "pedu_opp", "religion", "wi_qt_opp",
"hhstruc_opp", "head_sex_fm", "por")
# Prepare the weighted gtsummary table
<- svy_bdbr1_pl1 |>
t2_wt tbl_svysummary(
include = all_of(vlist_t2),
by = infantd,
percent = "row"
|>
) add_overall(statistic = ~ "{n}") |>
add_p() |>
# hide the alive col
modify_column_hide(columns = stat_1) |>
# Add extra header
modify_spanning_header(
c(stat_2, p.value) ~ "**Infant mortality (0-11 months)**"
|>
) modify_footnote(
all_stat_cols() ~ "n = Absolute distribution; % = Row percentage; Adjusted for sampling weights"
|>
) # styling
bold_labels() |>
bold_p(t = 0.05) |>
as_flex_table() |>
theme_vanilla()
# view table t2_wt
| Infant mortality (0-11 months) | ||
---|---|---|---|
Characteristic | Overall | Dead | p-value2 |
Death scarring | <0.001 | ||
Alive | 514,904,887 | 29,689,480 (5.8%) | |
Dead after conception | 23,980,882 | 2,805,700 (12%) | |
Dead before conception | 73,312,937 | 10,190,574 (14%) | |
Unknown | 301,147,850 | 29,179,531 | |
Preceding birth interval (in months) | <0.001 | ||
24 and more months | 472,154,835 | 25,846,519 (5.5%) | |
18-23 months | 79,264,465 | 7,880,063 (9.9%) | |
Less than 18 months | 60,779,406 | 8,959,173 (15%) | |
Unknown | 301,147,850 | 29,179,531 | |
Birth cohort of index child | <0.001 | ||
2010 and above | 107,107,560 | 3,529,964 (3.3%) | |
2000-2009 | 214,936,478 | 10,378,952 (4.8%) | |
1990-1999 | 287,372,873 | 22,005,146 (7.7%) | |
1980-1989 | 220,106,757 | 24,084,401 (11%) | |
1970-1979 | 83,822,888 | 11,866,824 (14%) | |
Birth order | <0.001 | ||
1-2 | 536,207,139 | 44,958,994 (8.4%) | |
3 | 153,898,955 | 9,723,936 (6.3%) | |
4 | 93,841,570 | 6,421,801 (6.8%) | |
5 and more | 129,398,892 | 10,760,555 (8.3%) | |
Sex of child | <0.001 | ||
Female | 445,492,696 | 31,850,438 (7.1%) | |
Male | 467,853,861 | 40,014,848 (8.6%) | |
Season during birth | 0.8 | ||
Summer/pre-monsoon | 272,262,473 | 21,276,399 (7.8%) | |
Monsoon | 208,789,167 | 16,434,022 (7.9%) | |
Winter/post-monsoon | 432,294,917 | 34,154,865 (7.9%) | |
Mother's age at child birth (in years) | <0.001 | ||
Above 29 years | 103,048,119 | 6,405,025 (6.2%) | |
25-29 years | 169,767,336 | 10,008,136 (5.9%) | |
20-24 years | 292,464,253 | 19,700,733 (6.7%) | |
Below 20 years | 348,066,848 | 35,751,391 (10%) | |
Mother's education | <0.001 | ||
Secondary or higher | 232,945,635 | 10,485,290 (4.5%) | |
Upto Primary | 278,431,181 | 20,932,286 (7.5%) | |
No formal schooling | 401,969,740 | 40,447,709 (10%) | |
Father's education | <0.001 | ||
Secondary or higher | 278,004,208 | 16,678,238 (6.0%) | |
Upto primary | 237,404,080 | 18,740,290 (7.9%) | |
No formal schooling | 397,938,269 | 36,446,758 (9.2%) | |
Religion of the household | 0.005 | ||
Islam | 827,755,878 | 64,613,735 (7.8%) | |
Others | 85,503,455 | 7,244,384 (8.5%) | |
Unknown | 87,223 | 7,167 | |
Wealth index quintile | <0.001 | ||
Richest | 157,253,196 | 9,097,391 (5.8%) | |
Richer | 177,418,951 | 12,390,914 (7.0%) | |
Middle | 185,811,445 | 14,519,184 (7.8%) | |
Poorer | 195,948,801 | 17,269,594 (8.8%) | |
Poorest | 196,914,163 | 18,588,204 (9.4%) | |
Household structure | <0.001 | ||
Extended | 430,842,462 | 32,421,621 (7.5%) | |
Nuclear | 482,504,094 | 39,443,665 (8.2%) | |
Sex of household head | <0.001 | ||
Female | 96,735,517 | 6,848,607 (7.1%) | |
Male | 816,611,039 | 65,016,679 (8.0%) | |
Place of residence | <0.001 | ||
Urban | 182,944,415 | 11,732,975 (6.4%) | |
Rural | 730,402,142 | 60,132,311 (8.2%) | |
1n = Absolute distribution; % = Row percentage; Adjusted for sampling weights | |||
2Pearson's X^2: Rao & Scott adjustment |
Table 3 shows that among children whose preceding sibling died before their conception, 15% experienced infant mortality. Mortality was also higher for children whose previous sibling died after their conception. Infant mortality varied significantly across birth intervals, birth cohorts, and parental characteristics. Mortality was highest among children born within 18 months of a previous birth, with 21% experiencing infant mortality. In contrast, children born after between 25-29 years had the lowest mortality rate of 6.8%. Sex differences were minor, with female infant mortality at 7.7% and male mortality at 8.7%.
Multivariable analysis
Regression of infant deaths by background characteristics
Here we will check the multivariable association of infant mortality with the independent variables by estimating logistic regression models. We run the weighted regression models by:
- Model 1: Without main independent variables.
- Model 2: With main independent variables.
# We merge the model-1 and model-2 tables
<- tbl_merge(
t3_log tbls = list(t3_log_mdl1, t3_log_mdl2),
tab_spanner = c("**Model-1**", "**Model-2**")
|>
) # ensure that estimates of sibsurv_3c and binterval_3c_opp are at the top
modify_table_body(
~ .x |>
arrange(desc(variable %in% c("sibsurv_3c", "binterval_3c_opp")))
)# Now we view the table
|>
t3_log as_flex_table() |>
fontsize(size = 9, part = "all") |>
theme_vanilla()
| Model-1 | Model-2 | ||||||
---|---|---|---|---|---|---|---|---|
Characteristic | OR1 | 95% CI1 | p-value | GVIF1 | OR1 | 95% CI1 | p-value | GVIF1 |
Death scarring | 1.2 | |||||||
Alive | — | — | ||||||
Dead after conception | 1.32 | 1.21, 1.44 | <0.001 | |||||
Dead before conception | 1.91 | 1.81, 2.01 | <0.001 | |||||
Preceding birth interval (in months) | 1.2 | |||||||
24 and more months | — | — | ||||||
18-23 months | 1.58 | 1.50, 1.67 | <0.001 | |||||
Less than 18 months | 2.30 | 2.18, 2.42 | <0.001 | |||||
Birth cohort of index child | 1.6 | 1.6 | ||||||
2010 and above | — | — | — | — | ||||
2000-2009 | 1.31 | 1.22, 1.40 | <0.001 | 1.17 | 1.07, 1.29 | <0.001 | ||
1990-1999 | 1.96 | 1.84, 2.09 | <0.001 | 1.70 | 1.56, 1.85 | <0.001 | ||
1980-1989 | 2.80 | 2.62, 2.99 | <0.001 | 2.40 | 2.20, 2.62 | <0.001 | ||
1970-1979 | 3.57 | 3.31, 3.85 | <0.001 | 3.11 | 2.82, 3.43 | <0.001 | ||
Birth order | 3.3 | 2.8 | ||||||
1-2 | — | — | — | — | ||||
3 | 0.86 | 0.82, 0.90 | <0.001 | 0.95 | 0.90, 1.01 | 0.083 | ||
4 | 0.97 | 0.91, 1.03 | 0.3 | 1.00 | 0.93, 1.07 | >0.9 | ||
5 and more | 1.23 | 1.14, 1.32 | <0.001 | 1.15 | 1.07, 1.24 | <0.001 | ||
Sex of child | 1.1 | 1.1 | ||||||
Female | — | — | — | — | ||||
Male | 1.21 | 1.18, 1.25 | <0.001 | 1.15 | 1.11, 1.20 | <0.001 | ||
Season during birth | 1.1 | 1.2 | ||||||
Summer/pre-monsoon | — | — | — | — | ||||
Monsoon | 1.02 | 0.98, 1.06 | 0.4 | 1.07 | 1.01, 1.13 | 0.019 | ||
Winter/post-monsoon | 1.01 | 0.97, 1.04 | 0.8 | 1.01 | 0.97, 1.06 | 0.7 | ||
Mother's age at child birth (in years) | 3.4 | 2.9 | ||||||
Above 29 years | — | — | — | — | ||||
25-29 years | 1.01 | 0.94, 1.08 | 0.8 | 0.93 | 0.87, 1.00 | 0.049 | ||
20-24 years | 1.21 | 1.12, 1.30 | <0.001 | 1.00 | 0.93, 1.08 | >0.9 | ||
Below 20 years | 1.77 | 1.63, 1.92 | <0.001 | 1.14 | 1.05, 1.25 | 0.003 | ||
Mother's education | 2.1 | 2.0 | ||||||
Secondary or higher | — | — | — | — | ||||
Upto Primary | 1.25 | 1.18, 1.32 | <0.001 | 1.26 | 1.17, 1.36 | <0.001 | ||
No formal schooling | 1.39 | 1.31, 1.48 | <0.001 | 1.37 | 1.26, 1.48 | <0.001 | ||
Father's education | 1.6 | 1.8 | ||||||
Secondary or higher | — | — | — | — | ||||
Upto primary | 1.11 | 1.05, 1.16 | <0.001 | 1.06 | 0.99, 1.13 | 0.11 | ||
No formal schooling | 1.15 | 1.09, 1.21 | <0.001 | 1.13 | 1.05, 1.21 | <0.001 | ||
Religion of the household | 1.0 | 1.1 | ||||||
Islam | — | — | — | — | ||||
Others | 1.11 | 1.04, 1.17 | <0.001 | 1.10 | 1.02, 1.17 | 0.008 | ||
Wealth index quintile | 1.8 | 1.9 | ||||||
Richest | — | — | — | — | ||||
Richer | 1.09 | 1.03, 1.17 | 0.005 | 1.06 | 0.98, 1.14 | 0.14 | ||
Middle | 1.17 | 1.10, 1.25 | <0.001 | 1.16 | 1.07, 1.26 | <0.001 | ||
Poorer | 1.30 | 1.22, 1.38 | <0.001 | 1.25 | 1.15, 1.35 | <0.001 | ||
Poorest | 1.39 | 1.30, 1.49 | <0.001 | 1.33 | 1.22, 1.44 | <0.001 | ||
Household structure | 1.1 | 1.1 | ||||||
Extended | — | — | — | — | ||||
Nuclear | 1.05 | 1.02, 1.09 | 0.004 | 1.03 | 0.99, 1.08 | 0.13 | ||
Sex of household head | 1.0 | 1.0 | ||||||
Female | — | — | — | — | ||||
Male | 1.05 | 1.00, 1.11 | 0.074 | 1.07 | 1.00, 1.14 | 0.056 | ||
Place of residence | 1.2 | 1.2 | ||||||
Urban | — | — | — | — | ||||
Rural | 0.98 | 0.94, 1.03 | 0.5 | 0.98 | 0.93, 1.04 | 0.6 | ||
No. Obs. | 349,936 | 230,026 | ||||||
AIC | 184,928 | 111,725 | ||||||
BIC | 185,180 | 112,009 | ||||||
1OR = Odds Ratio, CI = Confidence Interval, GVIF = Generalized Variance Inflation Factor |
Table 4 presents the results of the logistic regression analysis, showing key factors associated with infant mortality. Bangladeshi children whose preceding sibling had died before their conception had 1.86 times higher odds of experiencing infant mortality. Short birth intervals, particularly those under 18 months, were associated with a significantly higher risk, with mortality odds 2.51 times higher than for births with a preceding interval of 24 months or longer.
START FROM HERE
UPCOMING TASKS:
Run survival regression models and check the result.
Check if frailty survival regression models can be run.
Check and apply the evalue package.
TO BE CONTINUED …