Depression Among Stroke Survivors: Kweku Domfeh

Author

Samule Blay Nguah

Published

October 14, 2025

Please note!
  1. What variable(s) will be used to determine depression?
  2. How would you categorize them as None, Mild, Moderate, and Severe? What cutoff are you going to use?
  3. p-value for table 1 cannot be just a Chi-squared test, but rather a Chi-squared test for trend
  4. The same applies to Table 2
  5. Logistic regression will have to be Ordinal Logistic regression for Table 3

Read and Load dataset

Data Cleaning and wrangling

Show the code
df_paper_07 <- 
    df_paper_07 %>% 
    mutate(
        hypertension = case_when(
            ee_sbp_0 >= 140 ~ "Yes",
            ee_dbp_0 >= 90 ~ "Yes",
            ee_sbp_0 < 140 ~ "No",
            ee_dbp_0 < 90 ~ "No"),
        male = case_when(
            a_gender == "Male" ~ "Yes",
            a_gender == "Female" ~ "No"))

Table I: Descriptive

Show the code
table_one_a <- 
    df_paper_07 %>% 
    select(
        hamd_cat_2, a_agebase, male, a_domicile, income, maristat, 
        a_livingsit2, a_formeduc, a_religion, a_poccup3, d_st_type, 
        nihss_scale, ranking, dm, hyperlipidemia,perceived_stress_cat,
        ee_sbp_0, ee_dbp_0) %>% 
    gtsummary::tbl_summary(
        by = hamd_cat_2, 
        statistic = list(gtsummary::all_categorical()~"{n}({p})"),
        digits = list(gtsummary::all_categorical()~c(0, 1)),
        type = list(
            nihss_scale ~ "continuous",
            ranking ~ "continuous"),
        missing = "no",
        label = list(
            male ~ "Sex, Male",
            perceived_stress_cat = "Perceived Stress")
        ) %>% 
    gtsummary::bold_labels() %>% 
    gtsummary::add_overall(last = T)
8 missing rows in the "hamd_cat_2" column have been removed.
Show the code
table_one_a
Characteristic Normal
N = 3591
Mild Depression
N = 891
Moderate_Severe
N = 441
Overall
N = 4921
Age in years 58 (51, 66) 60 (51, 67) 57 (48, 69) 58 (51, 67)
Sex, Male 211(58.8) 45(50.6) 21(47.7) 277(56.3)
Domicile



    Rural 24(6.7) 3(3.4) 5(11.4) 32(6.5)
    Semi-Urban 123(34.3) 30(33.7) 12(27.3) 165(33.5)
    Urban 212(59.1) 56(62.9) 27(61.4) 295(60.0)
Income in GHC



    0-100 89(24.9) 53(59.6) 30(69.8) 172(35.1)
    101-250 125(34.9) 17(19.1) 7(16.3) 149(30.4)
    251-500 90(25.1) 14(15.7) 4(9.3) 108(22.0)
    >500 54(15.1) 5(5.6) 2(4.7) 61(12.4)
Marital Status



    Currently Married 248(69.1) 53(59.6) 27(61.4) 328(66.7)
    Previously Married 98(27.3) 30(33.7) 13(29.5) 141(28.7)
    Never Married 13(3.6) 6(6.7) 4(9.1) 23(4.7)
Living Status



    Lives with family 321(93.3) 74(94.9) 39(97.5) 434(93.9)
    Lives without family 23(6.7) 4(5.1) 1(2.5) 28(6.1)
Level of Formal education



    None 32(8.9) 9(10.1) 7(15.9) 48(9.8)
    Primary 135(37.6) 52(58.4) 14(31.8) 201(40.9)
    Secondary 127(35.4) 14(15.7) 19(43.2) 160(32.5)
    Tertiary 58(16.2) 11(12.4) 3(6.8) 72(14.6)
    Postgraduate 7(1.9) 3(3.4) 1(2.3) 11(2.2)
Religion



    Christianity 320(89.1) 83(93.3) 41(93.2) 444(90.2)
    Islam 37(10.3) 5(5.6) 3(6.8) 45(9.1)
    Other 2(0.6) 1(1.1) 0(0.0) 3(0.6)
Primary Occupation



    Skilled 188(52.4) 37(41.6) 10(22.7) 235(47.8)
    Manual 73(20.3) 23(25.8) 9(20.5) 105(21.3)
    Others 14(3.9) 4(4.5) 2(4.5) 20(4.1)
    Retired 45(12.5) 6(6.7) 5(11.4) 56(11.4)
    Unemployed 39(10.9) 19(21.3) 18(40.9) 76(15.4)
Stroke Type (Choose One)



    Ischemic Stroke 224(70.4) 67(79.8) 36(83.7) 327(73.5)
    Intracerebral Hemorrhagic Stroke 87(27.4) 13(15.5) 3(7.0) 103(23.1)
    Ischemic With Hemorrhagic Transformation 5(1.6) 2(2.4) 3(7.0) 10(2.2)
    Untyped Stroke (no CT scan available) 2(0.6) 2(2.4) 1(2.3) 5(1.1)
NIH Stroke Scale 2.0 (0.0, 5.0) 7.0 (3.0, 11.0) 10.5 (4.5, 16.5) 3.0 (0.0, 8.0)
Modified Ranking Score 2.00 (1.00, 3.00) 3.00 (2.00, 4.00) 3.00 (3.00, 4.00) 2.00 (1.00, 3.00)
Diabetes Mellitus 121(33.7) 26(29.2) 19(43.2) 166(33.7)
Hyperlipidemia 124(34.5) 23(25.8) 12(27.3) 159(32.3)
Perceived Stress



    Low 244(68.9) 28(32.2) 7(17.1) 279(57.9)
    High 110(31.1) 59(67.8) 34(82.9) 203(42.1)
Systolic blood pressure (mm Hg)-Baseline 154 (145, 169) 154 (148, 167) 157 (145, 175) 154 (146, 170)
Diastolic Blood Pressure 94 (87, 104) 96 (90, 106) 98 (88, 105) 95 (87, 105)
1 Median (Q1, Q3); n(%)

Table II: Univariate

Show the code
table_one_b <-
    gtsummary::tbl_uvregression(
    df_paper_07,
    include = c(
      hamd_cat_2, a_agebase, male, a_domicile, income, maristat, 
        a_livingsit2, a_formeduc, a_religion, a_poccup3, d_st_type, 
      nihss_scale, ranking, dm, hyperlipidemia, ee_sbp_0, ee_dbp_0, 
      perceived_stress_cat),
    method = ordinal::clm,
    y = hamd_cat_2,
    exponentiate = TRUE,
    pvalue_fun = ~ gtsummary::style_pvalue(.x, digits = 3),
    add_estimate_to_reference_rows = TRUE,
    hide_n = TRUE,
    tidy_fun = function(x, ...) broom::tidy(x, ..., p.values = TRUE),
    digits = gtsummary::all_categorical() ~ c(0,1), 
    label = list(
        male ~ "Sex, Male", 
        perceived_stress_cat = "Perceived Stress"),
    show_single_row = c(male, dm, hypertension, hyperlipidemia)) %>%
    gtsummary::bold_labels() %>% 
    gtsummary::bold_p(t = 0.2) %>% 
    gtsummary::add_n() 

table_one_b
Characteristic N OR 95% CI p-value
Age in years 492 1.01 0.99, 1.02 0.526
Sex, Male 492 0.69 0.46, 1.02 0.066
Domicile 492


    Rural
1.00
    Semi-Urban
0.91 0.39, 2.31 0.835
    Urban
1.06 0.47, 2.60 0.899
Income in GHC 490


    0-100
1.00
    101-250
0.21 0.12, 0.35 <0.001
    251-500
0.21 0.12, 0.37 <0.001
    >500
0.14 0.06, 0.31 <0.001
Marital Status 492


    Currently Married
1.00
    Previously Married
1.33 0.86, 2.05 0.194
    Never Married
2.39 1.01, 5.43 0.040
Living Status 462


    Lives with family
1.00
    Lives without family
0.60 0.20, 1.49 0.311
Level of Formal education 492


    None
1.00
    Primary
0.88 0.46, 1.74 0.703
    Secondary
0.53 0.27, 1.10 0.081
    Tertiary
0.45 0.19, 1.03 0.060
    Postgraduate
1.03 0.25, 3.74 0.963
Religion 492


    Christianity
1.00
    Islam
0.57 0.24, 1.19 0.159
    Other
1.10 0.05, 9.29 0.933
Primary Occupation 492


    Skilled
1.00
    Manual
1.76 1.04, 2.94 0.033
    Others
1.76 0.60, 4.55 0.267
    Retired
1.04 0.48, 2.10 0.920
    Unemployed
4.21 2.45, 7.24 <0.001
Stroke Type (Choose One) 445


    Ischemic Stroke
1.00
    Intracerebral Hemorrhagic Stroke
0.39 0.21, 0.68 0.001
    Ischemic With Hemorrhagic Transformation
2.59 0.72, 8.85 0.129
    Untyped Stroke (no CT scan available)
2.78 0.51, 13.9 0.208
NIH Stroke Scale 484 1.21 1.17, 1.26 <0.001
Modified Ranking Score 492 1.84 1.54, 2.20 <0.001
Diabetes Mellitus 492 1.06 0.69, 1.60 0.791
Hyperlipidemia 492 0.68 0.44, 1.06 0.092
Systolic blood pressure (mm Hg)-Baseline 491 1.00 0.99, 1.01 0.471
Diastolic Blood Pressure 491 1.01 0.99, 1.02 0.269
Perceived Stress 482


    Low
1.00
    High
6.02 3.89, 9.51 <0.001
Abbreviations: CI = Confidence Interval, OR = Odds Ratio

Table III: Multivariate

Show the code
df_paper_07 %>% 
   select(
       hamd_cat_2, a_agebase, male, income, maristat, 
       a_formeduc, a_religion, a_poccup3, d_st_type, 
      nihss_scale, ranking, hyperlipidemia, perceived_stress_cat) %>% 
    ordinal::clm(hamd_cat_2 ~ ., data = .) %>% 
    gtsummary::tbl_regression(
        exponentiate = T,
        pvalue_fun = ~ gtsummary::style_pvalue(.x, digits = 3),
        label = list(
            male ~ "Sex, Male", 
            perceived_stress_cat = "Perceived Stress"), 
        show_single_row = c(male, hyperlipidemia)) %>% 
    gtsummary::bold_p() %>% 
    gtsummary::bold_labels()
Characteristic OR 95% CI p-value
Age in years 0.99 0.96, 1.01 0.355
Sex, Male 0.93 0.50, 1.74 0.814
Income in GHC


    0-100
    101-250 0.36 0.18, 0.70 0.003
    251-500 0.54 0.23, 1.21 0.142
    >500 0.25 0.08, 0.69 0.011
Marital Status


    Currently Married
    Previously Married 1.09 0.59, 2.00 0.792
    Never Married 1.62 0.53, 4.60 0.380
Level of Formal education


    None
    Primary 0.73 0.31, 1.82 0.489
    Secondary 0.73 0.28, 1.98 0.533
    Tertiary 0.61 0.19, 2.01 0.416
    Postgraduate 1.41 0.19, 8.78 0.720
Religion


    Christianity
    Islam 0.55 0.19, 1.41 0.233
    Other 0.71 0.03, 8.65 0.803
Primary Occupation


    Skilled
    Manual 0.92 0.44, 1.89 0.831
    Others 1.27 0.33, 4.41 0.717
    Retired 1.08 0.41, 2.67 0.875
    Unemployed 1.56 0.72, 3.30 0.252
Stroke Type (Choose One)


    Ischemic Stroke
    Intracerebral Hemorrhagic Stroke 0.77 0.38, 1.52 0.463
    Ischemic With Hemorrhagic Transformation 1.32 0.27, 6.09 0.724
    Untyped Stroke (no CT scan available) 0.68 0.06, 6.69 0.738
NIH Stroke Scale 1.15 1.08, 1.22 <0.001
Modified Ranking Score 1.25 0.96, 1.65 0.103
Hyperlipidemia 0.51 0.28, 0.90 0.022
Perceived Stress


    Low
    High 3.13 1.83, 5.41 <0.001
Abbreviations: CI = Confidence Interval, OR = Odds Ratio