Introduction

The purpose of this study is to investigate significant determinants of depression in the Austrian population. Specifically, it examines the impact of general life conception, perception of other people and perception of national welfare on depressive symptoms. Enhancing the understanding of depression is globally critical as it states a public health issue that impacts all facets of life, including relationships, employment, and quality of life. Its impact goes beyond the personal level and needs to be considered by policy makers across multiple sectors, which justifies for further addition to research. The desired outcome is to pinpoint important risk variables linked to depression and offer statistical evidence in support of the existing body of knowledge.

Literature

According to the WHO, depression is defined as a common mental health condition that can happen to anyone. It is characterized by a low mood or loss of pleasure or interest in activities for long periods of time. This section briefly discusses prior research on the determinants of depression to be examined in this study. Accordingly, after each section, the derived hypothesis is stated.

General Life Conception: Control over life and satisfaction of life

Mental health outcomes are directly related to people’s overall life satisfaction and their sense of control over their lives. Higher levels of life satisfaction and a strong sense of control can serve as buffers against depression (Lombardo et al. 2018) (Gigantesco et al. 2019). Research shows that depressive symptoms can be predicted by a sense of not having control over one’s life, especially for underprivileged people. People who feel unable to control their own life report higher levels of emotional anguish, according to studies (Gallagher et al. 2022). The impact of subjective life satisfaction on depression seems logical, as people who feel consistently unhappy are also more likely to describe themselves as depressed.

Hypothesis 1 (H1): Life satisfaction and a sense of control over one’s life negatively correlate with depressive symptoms.

Conceptions about other people: Trust in people and their willingness to help others

Mental well-being is influenced by social trust and the perception of others’ helpfulness. People with high interpersonal trust have stronger support networks and are less likely to experience stress and depression. On the other side, those with low social trust are more likely to feel vulnerable and alone, which can have a negative impact on their mental health. Additionally, feeling secure and connected to others is a protective factor against depression (Fermin et al.  2022).

Hypothesis 2 (H2): Trust in people and their willingness to help others negatively correlates with depressive symptoms.

Perception of national welfare: Satisfaction with domestic economy and democracy

National factors which are known to affect mental health include economic satisfaction and trust in democratic institutions. Studies indicate that economic instability raises stress levels and contributes to depression, especially when people perceive the national economy as unstable (Frasquilho et al. 2016). Additionally, dissatisfaction with democratic institutions can lead to feelings of hopelessness, powerlessness, and anxiety about the future. People who feel disconnected from political decision-making or who believe that governance is unfair are more likely to experience depressive symptoms (Poses und Revilla 2022).

Hypothesis 3 (H3): Satisfaction with the domestic economy and democracy negatively correlate with depressive symptoms.

Methods

The data used for this R script was taken from the European Societal Survey (ESS) regarding various aspects of people’s lives. First, the data was subset to Austrian participants only, as this country was the subject of observation. The testing of the hypotheses with R was then conducted in a multiple step process:

  1. Transforming the dependent variables accordingly
  2. Transforming the independent variables accordingly
  3. Testing the covariance between independent and dependent variables
  4. Applying the Cronbach- alpha test

Data preparation

Filter Austria

ess_austria <- ess %>% filter(cntry == "AT")

Likert Scale Analysis of Depression Items

#Step1: Define consistent ordered factor levels

likert_levels <- c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree")

#Step 2 : Recode a singl3e Likert column(returns factor with all 5 levels)

likert_levels <- c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree")

recode_likert <- function(x) {
  x <- case_when(
    x == 1 ~ "Strongly Disagree",
    x == 2 ~ "Disagree",
    x == 3 ~ "Neutral",
    x == 4 ~ "Agree",
    x == 5 ~ "Strongly Agree",
    TRUE ~ NA_character_
  )
  factor(x, levels = likert_levels, ordered = TRUE)
}

#Step 3 :Manually build the dataframe by recoding each variable one-by-one

depression_items <- data.frame(
  fltdpr = recode_likert(ess_austria$fltdpr),
  fltlnl = recode_likert(ess_austria$fltlnl),
  cldgng = recode_likert(ess_austria$cldgng),
  wrhpp  = recode_likert(ess_austria$wrhpp),
  fltsd  = recode_likert(ess_austria$fltsd),
  enjlf  = recode_likert(ess_austria$enjlf),
  flteeff= recode_likert(ess_austria$flteeff),
  slprl  = recode_likert(ess_austria$slprl)
)

#Step 4 : Removes rows with missing data

depression_items <- depression_items[complete.cases(depression_items), ]

#Step 5 : Likert Plot

likert_obj <- likert(depression_items)
summary(likert_obj)
##      Item      low   neutral       high     mean        sd
## 6   enjlf 36.44981 41.447652 22.1025420 2.813873 0.8240965
## 4   wrhpp 30.80569 47.221025 21.9732874 2.876346 0.7866098
## 8   slprl 89.40112  7.496769  3.1021112 1.627747 0.7549758
## 7 flteeff 91.08143  6.893580  2.0249892 1.583800 0.7089182
## 2  fltlnl 95.43300  3.231366  1.3356312 1.282637 0.5896340
## 3  cldgng 95.77768  2.929772  1.2925463 1.358466 0.6052059
## 5   fltsd 96.63938  2.068074  1.2925463 1.355881 0.5901644
## 1  fltdpr 96.94097  2.283498  0.7755278 1.351573 0.5659584
plot(likert_obj)

#Create CES-D 8 score as a sum of depression items

ess_austria <- ess_austria %>%
  mutate(cesd8 = fltdpr + fltlnl + cldgng + wrhpp + fltsd + enjlf + flteeff + slprl)

Regression Model: Weighted vs.Unweighted Comparison

#Unweighted model

model_unweighted <- lm(cesd8 ~ happy + stflife + ppltrst + pplhlp + stfeco + stfdem, data = ess_austria)
model_weighted <- lm(cesd8 ~ happy + stflife + ppltrst + pplhlp + stfeco + stfdem, data = ess_austria, weights = dweight)

modelsummary(list(
  "Unweighted Model" = model_unweighted,
  "Weighted Model" = model_weighted
), stars = TRUE)
Unweighted Model Weighted Model
+ p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001
(Intercept) 17.623*** 17.661***
(0.287) (0.299)
happy -0.032 0.025
(0.046) (0.047)
stflife -0.256*** -0.289***
(0.046) (0.047)
ppltrst -0.082** -0.103***
(0.030) (0.030)
pplhlp -0.023 -0.035
(0.031) (0.031)
stfeco -0.121*** -0.100***
(0.029) (0.029)
stfdem 0.030 0.003
(0.026) (0.026)
Num.Obs. 2257 2257
R2 0.071 0.075
R2 Adj. 0.069 0.072
AIC 10335.3 10642.5
BIC 10381.1 10688.2
Log.Lik. -5159.656 -5313.237
RMSE 2.38 2.38

Interpretation

The coefficient for happiness in the unweighted model is

round(coef(model_unweighted)["happy"], 2)
## happy 
## -0.03

The coefficient for happiness in the weighted model is

round(coef(model_weighted)["happy"], 2)
## happy 
##  0.02

Discussion

The regression confirms Hypothesis 1: higher life satisfaction and control significantly reduce depressive symptoms. Hypothesis 2 was not supported—trust in people and perceived helpfulness showed weaker or non-significant effects. Hypothesis 3 received mixed support: satisfaction with economy and democracy were significantly related, but directionality and strength varied.

Defining Clinical Depression Cutoff

ess_austria <- ess_austria %>%
  mutate(clin_depression = ifelse(cesd8 >= 9, 1, 0))

table(ess_austria$clin_depression)
## 
##    0    1 
##    1 2320
prop.table(table(ess_austria$clin_depression))
## 
##            0            1 
## 0.0004308488 0.9995691512

Logistic Regression Model (Binary Outcome)

logit_model <- glm(clin_depression ~ happy + stflife + ppltrst + pplhlp + stfeco + stfdem + agea + gndr + eisced + hincfel + health, 
                   data = ess_austria, family = "binomial")
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(logit_model)
## 
## Call:
## glm(formula = clin_depression ~ happy + stflife + ppltrst + pplhlp + 
##     stfeco + stfdem + agea + gndr + eisced + hincfel + health, 
##     family = "binomial", data = ess_austria)
## 
## Coefficients:
##               Estimate Std. Error z value Pr(>|z|)
## (Intercept)   351.7238 36764.7718   0.010    0.992
## happy          42.9242  3039.0365   0.014    0.989
## stflife      -101.3549  2174.9642  -0.047    0.963
## ppltrst        60.8107  1617.6805   0.038    0.970
## pplhlp         -2.2010   819.3314  -0.003    0.998
## stfeco         83.9841  1866.3531   0.045    0.964
## stfdem        -12.4807   283.5414  -0.044    0.965
## agea            0.2512    55.2755   0.005    0.996
## gndr           77.5336  9031.3460   0.009    0.993
## eisced         -5.8350   185.8346  -0.031    0.975
## hincfel       374.3539  8601.1006   0.044    0.965
## health       -199.8502  4913.0954  -0.041    0.968
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1.7432e+01  on 2243  degrees of freedom
## Residual deviance: 1.3539e-05  on 2232  degrees of freedom
##   (110 observations deleted due to missingness)
## AIC: 24
## 
## Number of Fisher Scoring iterations: 25

Odds Ratios and Confidence Intervals

tidy(logit_model, exponentiate = TRUE, conf.int = TRUE) %>% 
  select(term, estimate, conf.low, conf.high, p.value)
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
## # A tibble: 12 × 5
##    term         estimate  conf.low  conf.high p.value
##    <chr>           <dbl>     <dbl>      <dbl>   <dbl>
##  1 (Intercept) 5.65e+152 0         Inf          0.992
##  2 happy       4.38e+ 18 2.25e- 72   4.68e 89   0.989
##  3 stflife     9.60e- 45 2.07e-111   1.46e 17   0.963
##  4 ppltrst     2.57e+ 26 1.59e- 18   1.15e 69   0.970
##  5 pplhlp      1.11e-  1 1.07e- 30   1.15e 28   0.998
##  6 stfeco      2.98e+ 36 3.73e- 45   5.27e110   0.964
##  7 stfdem      3.80e-  6 5.96e- 15   6.92e  3   0.965
##  8 agea        1.29e+  0 4.30e-  2   2.38e  1   0.996
##  9 gndr        4.70e+ 33 0         Inf          0.993
## 10 eisced      2.92e-  3 1.28e-  9   5.21e  2   0.975
## 11 hincfel     3.80e+162 3.17e-103 Inf          0.965
## 12 health      1.61e- 87 4.09e-238   2.59e 51   0.968

Pseudo R-squared for model fit

PseudoR2(logit_model, which = "Nagelkerke")
## Nagelkerke 
##  0.9999992

Compare to Linear Regression (CES-D 8 score)

model_lin <- lm(cesd8 ~ happy + stflife + ppltrst + pplhlp + stfeco + stfdem + agea + gndr + eisced + hincfel + health, 
                data = ess_austria)
summary(model_lin)
## 
## Call:
## lm(formula = cesd8 ~ happy + stflife + ppltrst + pplhlp + stfeco + 
##     stfdem + agea + gndr + eisced + hincfel + health, data = ess_austria)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.1636 -1.6035 -0.2423  1.2941 12.6610 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 15.570649   0.447830  34.769  < 2e-16 ***
## happy       -0.015879   0.045277  -0.351   0.7258    
## stflife     -0.195492   0.046720  -4.184 2.97e-05 ***
## ppltrst     -0.071692   0.029574  -2.424   0.0154 *  
## pplhlp      -0.022254   0.030293  -0.735   0.4626    
## stfeco      -0.115947   0.029035  -3.993 6.73e-05 ***
## stfdem       0.022372   0.025589   0.874   0.3820    
## agea        -0.002558   0.003097  -0.826   0.4090    
## gndr         0.475796   0.100597   4.730 2.39e-06 ***
## eisced       0.008903   0.009811   0.908   0.3642    
## hincfel     -0.190062   0.075846  -2.506   0.0123 *  
## health       0.531129   0.070568   7.526 7.52e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.331 on 2232 degrees of freedom
##   (110 observations deleted due to missingness)
## Multiple R-squared:  0.1075, Adjusted R-squared:  0.1031 
## F-statistic: 24.44 on 11 and 2232 DF,  p-value: < 2.2e-16