NPDHS 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.

easypackages::libraries(
    
    # 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
)

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 Nepal Demographic and Health Survey (NPDHS) datasets. This document has selected code for analysis and the full spectrum of preliminary analysis are available in the “npdhs_datanal1.R” script file.

Data source

Here we use the pooled dataset of six existing rounds of Nepal Demographic and Health Survey (NPDHS) conducted during 1996, 2001, 2006, 2011, 2016 and 2022. The NPDHS 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 “npdhsv2_daprep.R”. Also, we have a variable harmonization documentation called “npdhs_datapl1_pre.html” which shows how the variable labels and label codes vary across the raw NPDHS datasets.

Now, please note that the following Nepal DHS surveys were pooled:

# Creating the table of surveys to be used for pooling
npbr1_tmp_intro |> 
  mutate(n_births = prettyNum(n_births, big.mark = ",")) |> 
  select(c(ctr_name, svy_year, n_births)) |> 
    # Join vars from nphr_tmp_intro
    left_join(
        nphr1_tmp_intro |> 
          mutate(n_households = prettyNum(n_households, big.mark = ",")) |> 
          select(svy_year, n_households),
        by = join_by(svy_year)
    ) |> 
    # Join vars from nppr_tmp_intro
    left_join(
        nppr1_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")
Table 1: Nepal DHS datasets and their sample size to be used for pooling

ccode

ctr_name

svy_year

n_births

n_households

n_persons

1

Nepal

1996

29,156

8,082

46,576

2

Nepal

2001

28,955

8,602

47,523

3

Nepal

2006

26,394

8,707

44,057

4

Nepal

2011

26,615

10,826

49,791

5

Nepal

2016

26,028

11,040

49,064

6

Nepal

2022

27,613

13,786

57,278

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 Nepal 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 “npdhsv2_daprep.R” script file.

# Importing the pooled npbr tibble
npbr1_pl1 <- read_rds(
    file = here("website_data", "npbr1_pl1.rds")
)

# Prepare the survey weighted dataset
options(survey.lonely.psu = "adjust")
options(survey.adjust.domain.lonely = T)
svy_npbr1_pl1 <- svydesign(
    data = npbr1_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 Nepal 1970-2022.

# Now, we merge the unweighted and weighted tables and view it
t1 <- tbl_merge(
    tbls = list(t1_wt, t1_ut),
    tab_spanner = c("**Weighted**", "**Unweighted**")
) |> 
    modify_footnote(
        stat_0_1 ~ "n (%) = Distribution and column percentage (weighted);",
        stat_0_2 ~ "n (%) = Distribution and column percentage (unweighted)"
    ) |> 
  as_flex_table() |> 
  theme_vanilla()
t1
Table 2: Distribution of births by background characteristics in Nepal 1970-2022

Weighted

Unweighted

Characteristic

N = 194,061,2991

N = 161,3302

Death scarring

Alive

112,336,548 (57.9%)

93,235 (57.8%)

Dead

20,796,019 (10.7%)

17,259 (10.7%)

First order births

60,928,732 (31.4%)

50,836 (31.5%)

Death scarring

Alive

112,336,548 (57.9%)

93,235 (57.8%)

Dead after conception

5,434,231 (2.8%)

4,376 (2.7%)

Dead before conception

15,361,788 (7.9%)

12,883 (8.0%)

First order births

60,928,732 (31.4%)

50,836 (31.5%)

Preceding birth interval (in months)

24 and more months

94,788,905 (48.8%)

78,610 (48.7%)

18-23 months

22,865,913 (11.8%)

18,921 (11.7%)

Less than 18 months

15,477,748 (8.0%)

12,963 (8.0%)

First order births

60,928,732 (31.4%)

50,836 (31.5%)

Birth cohort of index child

2010 and above

21,647,269 (11.2%)

20,299 (12.6%)

2000-2009

44,835,469 (23.1%)

40,697 (25.2%)

1990-1999

68,801,711 (35.5%)

55,564 (34.4%)

1980-1989

44,016,836 (22.7%)

33,882 (21.0%)

1970-1979

14,760,014 (7.6%)

10,888 (6.7%)

Birth order

1-2

110,117,770 (56.7%)

91,876 (56.9%)

3

33,403,756 (17.2%)

27,804 (17.2%)

4

21,268,739 (11.0%)

17,643 (10.9%)

5 and more

29,271,035 (15.1%)

24,007 (14.9%)

Sex of child

Female

94,633,439 (48.8%)

78,602 (48.7%)

Male

99,427,860 (51.2%)

82,728 (51.3%)

Season during birth

Summer/pre-monsoon

67,937,938 (35.0%)

56,440 (35.0%)

Monsoon

49,739,646 (25.6%)

41,011 (25.4%)

Winter/post-monsoon

76,383,715 (39.4%)

63,879 (39.6%)

Mother's age at child birth (in years)

Above 29 years

28,316,793 (14.6%)

23,385 (14.5%)

25-29 years

44,758,435 (23.1%)

37,225 (23.1%)

20-24 years

74,512,396 (38.4%)

62,033 (38.5%)

Below 20 years

46,473,675 (23.9%)

38,687 (24.0%)

Mother's education

Secondary or higher

26,831,921 (13.8%)

23,326 (14.5%)

Upto Primary

30,110,992 (15.5%)

25,669 (15.9%)

No formal schooling

137,118,386 (70.7%)

112,335 (69.6%)

Father's education

Secondary or higher

69,986,172 (36.1%)

59,349 (36.8%)

Upto primary

54,290,243 (28.0%)

47,053 (29.2%)

No formal schooling

69,784,885 (36.0%)

54,928 (34.0%)

Religion of the household

Hinduism

164,578,990 (84.8%)

138,597 (85.9%)

Buddhism

13,158,637 (6.8%)

10,604 (6.6%)

Others

16,323,672 (8.4%)

12,129 (7.5%)

Native language of the household

Nepali

90,335,999 (46.6%)

83,102 (51.5%)

Maithili

29,654,192 (15.3%)

18,201 (11.3%)

Bhojpuri

15,970,108 (8.2%)

10,164 (6.3%)

Others

58,101,001 (29.9%)

49,863 (30.9%)

Wealth index quintile

Richest

31,155,049 (16.1%)

24,893 (15.4%)

Richer

36,966,718 (19.0%)

28,903 (17.9%)

Middle

40,221,892 (20.7%)

31,178 (19.3%)

Poorer

40,480,310 (20.9%)

32,909 (20.4%)

Poorest

45,237,330 (23.3%)

43,447 (26.9%)

Household structure

Extended

99,865,533 (51.5%)

82,102 (50.9%)

Nuclear

94,195,766 (48.5%)

79,228 (49.1%)

Sex of household head

Female

41,331,065 (21.3%)

36,408 (22.6%)

Male

152,730,234 (78.7%)

124,922 (77.4%)

Place of residence

Urban

47,098,838 (24.3%)

47,049 (29.2%)

Rural

146,962,461 (75.7%)

114,281 (70.8%)

Ecological region

Mountain region

14,208,099 (7.3%)

21,531 (13.3%)

Hill region

77,720,681 (40.0%)

64,894 (40.2%)

Terai region

102,132,519 (52.6%)

74,905 (46.4%)

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 Nepal 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 Nepal 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 Nepali 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.
fig1_cohort <- f1_cohort_tibble |> 
    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
Figure 1: Lollipop chart showing the weighted percentage of infant deaths by birth cohort in Nepal DHS
fig1_period <- f1_period_tibble |> 
    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 2: Lollipop chart showing the weighted percentage of infant deaths by survey period in Nepal DHS

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 Nepal 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
fig2_svyround <- npbrpl1_mortrates |> 
    # 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 Nepal 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: Connected dot plot showing the childhood mortality rates by Nepal DHS survey rounds

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
vlist_t2 <- c("infantd", "sibsurv_3c", "binterval_3c_opp", 
              "cyob10y_opp", "bord_c", "sex_fm", "season", "macb_c_opp", 
              "medu_opp", "pedu_opp", "religion", "nat_lang", "wi_qt_opp", 
              "hhstruc_opp", "head_sex", "por", "ecoreg")

# Prepare the weighted gtsummary table
t2_wt <- svy_npbr1_pl1 |> 
  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()
t2_wt                           # view table
Table 3: Distribution of infant deaths by background characteristics among Nepalese children from 1970-2022

Infant mortality (0-11 months)

Characteristic

Overall
N = 194,061,2991

Dead
N = 15,145,3801

p-value2

Death scarring

<0.001

Alive

112,336,548

6,660,743 (5.9%)

Dead after conception

5,434,231

750,385 (14%)

Dead before conception

15,361,788

2,325,238 (15%)

Unknown

60,928,732

5,409,014

Preceding birth interval (in months)

<0.001

24 and more months

94,788,905

5,016,698 (5.3%)

18-23 months

22,865,913

2,246,195 (9.8%)

Less than 18 months

15,477,748

2,473,473 (16%)

Unknown

60,928,732

5,409,014

Birth cohort of index child

<0.001

2010 and above

21,647,269

698,842 (3.2%)

2000-2009

44,835,469

2,141,376 (4.8%)

1990-1999

68,801,711

5,117,554 (7.4%)

1980-1989

44,016,836

4,905,147 (11%)

1970-1979

14,760,014

2,282,461 (15%)

Birth order

<0.001

1-2

110,117,770

8,778,009 (8.0%)

3

33,403,756

2,249,765 (6.7%)

4

21,268,739

1,515,813 (7.1%)

5 and more

29,271,035

2,601,793 (8.9%)

Sex of child

<0.001

Female

94,633,439

6,867,967 (7.3%)

Male

99,427,860

8,277,413 (8.3%)

Season during birth

0.5

Summer/pre-monsoon

67,937,938

5,223,018 (7.7%)

Monsoon

49,739,646

3,909,978 (7.9%)

Winter/post-monsoon

76,383,715

6,012,384 (7.9%)

Mother's age at child birth (in years)

<0.001

Above 29 years

28,316,793

1,975,137 (7.0%)

25-29 years

44,758,435

2,862,903 (6.4%)

20-24 years

74,512,396

5,252,265 (7.0%)

Below 20 years

46,473,675

5,055,075 (11%)

Mother's education

<0.001

Secondary or higher

26,831,921

826,164 (3.1%)

Upto Primary

30,110,992

1,588,553 (5.3%)

No formal schooling

137,118,386

12,730,662 (9.3%)

Father's education

<0.001

Secondary or higher

69,986,172

3,919,729 (5.6%)

Upto primary

54,290,243

4,114,017 (7.6%)

No formal schooling

69,784,885

7,111,634 (10%)

Religion of the household

0.11

Hinduism

164,578,990

13,010,056 (7.9%)

Buddhism

13,158,637

965,564 (7.3%)

Others

16,323,672

1,169,759 (7.2%)

Native language of the household

<0.001

Nepali

90,335,999

6,546,334 (7.2%)

Maithili

29,654,192

2,354,791 (7.9%)

Bhojpuri

15,970,108

1,407,319 (8.8%)

Others

58,101,001

4,836,936 (8.3%)

Wealth index quintile

<0.001

Richest

31,155,049

1,574,975 (5.1%)

Richer

36,966,718

2,647,603 (7.2%)

Middle

40,221,892

3,228,310 (8.0%)

Poorer

40,480,310

3,450,948 (8.5%)

Poorest

45,237,330

4,243,544 (9.4%)

Household structure

0.4

Extended

99,865,533

7,727,383 (7.7%)

Nuclear

94,195,766

7,417,997 (7.9%)

Sex of household head

<0.001

Female

41,331,065

2,687,333 (6.5%)

Male

152,730,234

12,458,047 (8.2%)

Place of residence

<0.001

Urban

47,098,838

2,262,443 (4.8%)

Rural

146,962,461

12,882,936 (8.8%)

Ecological region

<0.001

Mountain region

14,208,099

1,568,513 (11%)

Hill region

77,720,681

5,524,533 (7.1%)

Terai region

102,132,519

8,052,334 (7.9%)

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
t3_log <- tbl_merge(
    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()
Table 4: Multivariable association of infant mortality and the independent variables among children in Nepal 1970-2022

Model-1

Model-2

Characteristic

OR1

95% CI1

p-value

GVIF1

OR1

95% CI1

p-value

GVIF1

Death scarring

1.3

Alive

Dead after conception

1.41

1.27, 1.58

<0.001

Dead before conception

1.87

1.74, 2.00

<0.001

Preceding birth interval (in months)

1.3

24 and more months

18-23 months

1.76

1.64, 1.88

<0.001

Less than 18 months

2.68

2.50, 2.88

<0.001

Birth cohort of index child

2.2

1.9

2010 and above

2000-2009

1.27

1.13, 1.41

<0.001

1.30

1.12, 1.51

<0.001

1990-1999

1.85

1.66, 2.06

<0.001

1.86

1.62, 2.14

<0.001

1980-1989

2.72

2.44, 3.04

<0.001

2.63

2.28, 3.04

<0.001

1970-1979

3.68

3.24, 4.19

<0.001

3.40

2.89, 3.99

<0.001

Birth order

3.7

2.9

1-2

3

0.98

0.92, 1.05

0.6

1.00

0.92, 1.08

>0.9

4

1.08

0.99, 1.18

0.068

1.04

0.95, 1.14

0.4

5 and more

1.44

1.31, 1.60

<0.001

1.24

1.12, 1.36

<0.001

Sex of child

1.1

1.1

Female

Male

1.17

1.13, 1.22

<0.001

1.13

1.07, 1.18

<0.001

Season during birth

1.1

1.2

Summer/pre-monsoon

Monsoon

1.02

0.97, 1.07

0.5

1.07

1.00, 1.14

0.059

Winter/post-monsoon

0.98

0.94, 1.03

0.5

0.98

0.92, 1.04

0.4

Mother's age at child birth (in years)

3.9

3.1

Above 29 years

25-29 years

1.10

1.01, 1.20

0.032

0.98

0.90, 1.07

0.6

20-24 years

1.40

1.26, 1.55

<0.001

1.07

0.96, 1.18

0.2

Below 20 years

2.24

2.00, 2.51

<0.001

1.36

1.20, 1.54

<0.001

Mother's education

1.7

1.7

Secondary or higher

Upto Primary

1.32

1.18, 1.47

<0.001

1.21

1.03, 1.42

0.017

No formal schooling

1.67

1.50, 1.85

<0.001

1.50

1.30, 1.73

<0.001

Father's education

1.7

1.6

Secondary or higher

Upto primary

1.09

1.02, 1.17

0.011

1.15

1.06, 1.24

<0.001

No formal schooling

1.23

1.14, 1.32

<0.001

1.29

1.19, 1.39

<0.001

Religion of the household

1.4

1.5

Hinduism

Buddhism

0.84

0.74, 0.96

0.009

0.82

0.71, 0.95

0.006

Others

0.88

0.80, 0.96

0.005

0.91

0.81, 1.02

0.10

Native language of the household

2.1

2.3

Nepali

Maithili

1.07

0.98, 1.16

0.13

1.09

1.00, 1.20

0.063

Bhojpuri

1.23

1.09, 1.38

<0.001

1.18

1.03, 1.36

0.019

Others

1.17

1.09, 1.24

<0.001

1.11

1.03, 1.20

0.005

Wealth index quintile

2.3

2.3

Richest

Richer

1.20

1.08, 1.33

<0.001

1.14

1.01, 1.28

0.040

Middle

1.29

1.16, 1.43

<0.001

1.19

1.06, 1.34

0.004

Poorer

1.39

1.25, 1.53

<0.001

1.25

1.11, 1.41

<0.001

Poorest

1.50

1.35, 1.68

<0.001

1.33

1.17, 1.51

<0.001

Household structure

1.3

1.2

Extended

Nuclear

1.02

0.97, 1.07

0.5

1.03

0.97, 1.09

0.3

Sex of household head

1.1

1.1

Female

Male

1.03

0.97, 1.09

0.4

1.01

0.94, 1.08

0.8

Place of residence

1.4

1.3

Urban

Rural

1.13

1.05, 1.22

<0.001

1.13

1.03, 1.23

0.007

Ecological region

1.8

1.8

Mountain region

Hill region

0.66

0.61, 0.72

<0.001

0.67

0.62, 0.73

<0.001

Terai region

0.69

0.63, 0.75

<0.001

0.68

0.62, 0.75

<0.001

No. Obs.

161,330

110,494

AIC

84,055

53,734

BIC

84,338

54,055

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. Nepalese 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 …

Back to top