Depression is a prevalent mental health condition influenced by a complex interplay of social, economic, and environmental factors (Ali & Kassem, 2021). Understanding these determinants is essential to design effective interventions and policies. This analysis employs the CES-D8 Depression Scale to operationalize depressive symptoms and examines the effects of three social determinants: income perception, social meeting frequency, and childhood household conflicts (European Social Survey, 2022). This analysis is based on data from the European Social Survey (Round 11), focusing specifically on respondents from Austria to allow for a more detailed country-level perspective on depression.
This study explores how various social factors relate to depressive symptoms. The following hypotheses are proposed:
library(likert)
df$d20 = as.numeric(df$fltdpr)
df$d21 = as.numeric(df$flteeff)
df$d22 = as.numeric(df$slprl)
df$d23 = as.numeric(df$wrhpp)
df$d24 = as.numeric(df$fltlnl)
df$d25 = as.numeric(df$enjlf)
df$d26 = as.numeric(df$fltsd)
df$d27 = as.numeric(df$cldgng)
df$d23 = 5 - df$d23
df$d25 = 5 - df$d25
df_austria <- df[df$cntry == "Austria", ]
df_austria <- df_austria[, order(names(df_austria))]
Variables related to depression were standardized for consistency (e.g., reversing scales for “happy” and “enjoyed life” items).
library(likert)
library(kableExtra)
vnames = c("fltdpr","flteeff","slprl","wrhpp","fltlnl","enjlf","fltsd","cldgng")
likert_df = df[,vnames]
likert_table = likert(likert_df)$results
likert_numeric_df = as.data.frame(lapply((df[,vnames]), as.numeric))
likert_table$Mean = unlist(lapply((likert_numeric_df[,vnames]), mean, na.rm=T)) # ... and append new columns to the data frame
likert_table$Count = unlist(lapply((likert_numeric_df[,vnames]), function (x) sum(!is.na(x))))
likert_table$Item = c(
d20="How much of the time during the past week did you felt depressed?",
d21="How much of the time during the past week did you felt that everything you did was an effort?",
d22="How much of the time during the past week did your sleep was restless?",
d23="How much of the time during the past week did you were happy?",
d24="How much of the time during the past week did you felt lonely?",
d25="How much of the time during the past week did you enjoyed life?",
d26="How much of the time during the past week did you felt sad?",
d27="How much of the time during the past week did you could not get going?")
likert_table[,2:6] = round(likert_table[,2:6],1)
# round means to 3 decimal digits
likert_table[,7] = round(likert_table[,7],3)
# create formatted table
kable_styling(kable(likert_table,
caption = "Distribution of answers regarding depression indicators (ESS round 11, all countries)"
)
)
| Item | None or almost none of the time | Some of the time | Most of the time | All or almost all of the time | Mean | Count |
|---|---|---|---|---|---|---|
| How much of the time during the past week did you felt depressed? | 64.9 | 29.1 | 4.6 | 1.5 | 1.4 | 39981 |
| How much of the time during the past week did you felt that everything you did was an effort? | 48.4 | 38.4 | 9.8 | 3.4 | 1.7 | 39983 |
| How much of the time during the past week did your sleep was restless? | 43.9 | 39.9 | 11.6 | 4.6 | 1.8 | 40017 |
| How much of the time during the past week did you were happy? | 4.0 | 23.5 | 48.9 | 23.6 | 2.9 | 39890 |
| How much of the time during the past week did you felt lonely? | 68.1 | 24.3 | 5.3 | 2.3 | 1.4 | 39983 |
| How much of the time during the past week did you enjoyed life? | 5.3 | 24.8 | 44.8 | 25.0 | 2.9 | 39878 |
| How much of the time during the past week did you felt sad? | 52.5 | 41.1 | 4.9 | 1.6 | 1.6 | 39981 |
| How much of the time during the past week did you could not get going? | 55.7 | 36.1 | 6.2 | 2.0 | 1.5 | 39949 |
## Descriptive Statistics
# create basic plot (code also valid)
plot(likert(summary=likert_table[,1:6]))
cronbach.alpha(df_austria[,c("d20", "d21", "d22", "d23", "d24", "d25", "d26", "d27")], na.rm=T)
##
## Cronbach's alpha for the 'df_austria[, c("d20", "d21", "d22", "d23", "d24", "d25", "d26", ' ' "d27")]' data-set
##
## Items: 8
## Sample units: 2354
## alpha: 0.801
Cronbach’s alpha 0.8009065 was calculated, demonstrating good internal consistency for the depression items. The dataset was subset for Austria, and variables were recoded into numeric formats for analysis.
# Create depression scale as average of 8 CES-D items.This scale is used as a metric outcome in the first regression model.
df$depression_scale <- rowMeans(cbind(df$d20, df$d21, df$d22, df$d23, df$d24, df$d25, df$d26, df$d27), na.rm = TRUE)
# Check the distribution
hist(df$depression_scale, main = "Distribution of Depression Scale", xlab = "Average Score", col = "lightblue")
### Distribution of Depression Scores
The histogram above shows the right-skewed distribution of average depression scores among respondents. The x-axis represents the mean score on the 8-item depression scale (ranging from 0 to 4), and the y-axis shows the number of respondents. Most individuals have relatively low average scores, with a peak around 1.0–1.5. Very few respondents have average scores above 3, suggesting that high levels of depressive symptoms are less common in the sample.
# Create binary variable for clinical-level depression. Respondents with an average score of 3 or more are classified as clinically depressed.
df$clinical_dep <- ifelse(df$depression_scale >= 3, 1, 0)
# Optional: check distribution
table(df$clinical_dep)
##
## 0 1
## 39099 1005
# Creating Categorical Income Variable
# To analyze the subjective perception of income, a new categorical variable `income_perception` is created based on the original `hincfel` variable. The levels are ordered from most to least financially secure, with "Comfortable" as the reference group.
df$income_perception <- factor(df$hincfel,
levels = c("Living comfortably on present income",
"Coping on present income",
"Difficult on present income",
"Very difficult on present income"),
labels = c("Comfortable", "Coping", "Difficult", "Very Difficult"))
# Linear regression model with metric outcome. The first model uses the depression scale as a continuous outcome. Predictors include income feeling (dummy coded) and social meeting frequency.
# Convert cnfpplh to numeric
df$cnfpplh_num <- as.numeric(df$cnfpplh)
# Regression model including all 3 hypotheses
model1 <- lm(depression_scale ~ income_perception + sclmeet + cnfpplh_num, data = df)
summary(model1)
##
## Call:
## lm(formula = depression_scale ~ income_perception + sclmeet +
## cnfpplh_num, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.59871 -0.31581 -0.06804 0.24632 2.47684
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.308805 0.018950 121.83 <2e-16 ***
## income_perceptionCoping 0.125609 0.005128 24.50 <2e-16 ***
## income_perceptionDifficult 0.352439 0.007170 49.16 <2e-16 ***
## income_perceptionVery Difficult 0.568132 0.012789 44.42 <2e-16 ***
## sclmeetLess than once a month -0.192549 0.018075 -10.65 <2e-16 ***
## sclmeetOnce a month -0.328001 0.018000 -18.22 <2e-16 ***
## sclmeetSeveral times a month -0.392313 0.017192 -22.82 <2e-16 ***
## sclmeetOnce a week -0.402046 0.017337 -23.19 <2e-16 ***
## sclmeetSeveral times a week -0.442207 0.017046 -25.94 <2e-16 ***
## sclmeetEvery day -0.447535 0.017625 -25.39 <2e-16 ***
## cnfpplh_num -0.092744 0.002182 -42.50 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4519 on 39247 degrees of freedom
## (898 observations deleted due to missingness)
## Multiple R-squared: 0.1846, Adjusted R-squared: 0.1843
## F-statistic: 888.3 on 10 and 39247 DF, p-value: < 2.2e-16
The linear regression model explains variation in depressive symptoms based on perceived income, social contact frequency, and childhood conflict. The model has an adjusted R-squared of 0.184, indicating that about 18.4% of the variance in depression scores is explained by the predictors.
H1 – Income Perception:
Compared to the reference group (Comfortable),
individuals who report Coping,
Difficult, or Very Difficult financial
situations show increasingly higher depression scores. For example,
those in the Very Difficult category report scores that
are on average 0.568 points higher. All effects are statistically
significant (p < .001), supporting Hypothesis 1.
H2 – Social Contact:
More frequent social contact is associated with lower depression scores
across all categories. Meeting people every day is
linked to a decrease of -0.448 points compared to the reference
category. This provides strong support for Hypothesis 2.
H3 – Childhood Conflict:
The frequency of serious conflicts in childhood
(cnfpplh_num) is significantly associated with lower adult
depression scores (-0.093), contrary to expectations. This finding does
not support Hypothesis 3, as the effect is in the
opposite direction of what was hypothesized.
# Logistic regression model with binary outcome. The second model uses the binary depression variable as outcome. A logistic regression is applied to estimate the likelihood of clinical depression.
model2 <- glm(clinical_dep ~ income_perception + sclmeet + cnfpplh_num, data = df, family = binomial)
summary(model2)
##
## Call:
## glm(formula = clinical_dep ~ income_perception + sclmeet + cnfpplh_num,
## family = binomial, data = df)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.5892 0.1744 -9.114 < 2e-16 ***
## income_perceptionCoping 0.5801 0.1069 5.425 5.79e-08 ***
## income_perceptionDifficult 1.5376 0.1095 14.041 < 2e-16 ***
## income_perceptionVery Difficult 2.4793 0.1223 20.279 < 2e-16 ***
## sclmeetLess than once a month -1.0032 0.1261 -7.955 1.79e-15 ***
## sclmeetOnce a month -1.5373 0.1424 -10.797 < 2e-16 ***
## sclmeetSeveral times a month -1.9532 0.1340 -14.578 < 2e-16 ***
## sclmeetOnce a week -1.9497 0.1395 -13.972 < 2e-16 ***
## sclmeetSeveral times a week -2.0930 0.1330 -15.734 < 2e-16 ***
## sclmeetEvery day -1.8396 0.1473 -12.489 < 2e-16 ***
## cnfpplh_num -0.3475 0.0292 -11.903 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 9161.1 on 39257 degrees of freedom
## Residual deviance: 7874.8 on 39247 degrees of freedom
## (898 observations deleted due to missingness)
## AIC: 7896.8
##
## Number of Fisher Scoring iterations: 7
The logistic regression model estimates the likelihood of being clinically depressed, based on perceived income, social contact frequency, and childhood conflict.
H1 – Income Perception:
Perceived financial strain significantly increases the likelihood of
clinical depression. Compared to those who feel financially
Comfortable, the odds of being classified as clinically
depressed are: - 1.79 times higher for those Coping -
4.65 times higher for those Difficult - 11.93 times
higher for those Very Difficult
All effects are statistically significant (p < .001),
providing strong support for Hypothesis 1.
H2 – Social Contact:
Higher frequency of social interaction is associated with
substantially lower odds of depression. For example,
individuals who meet people every day have odds that
are 0.16 times lower than those in the reference
category. This finding strongly supports Hypothesis
2.
H3 – Childhood Conflict:
Each unit increase in reported serious conflict in childhood is
associated with a decrease in the odds of clinical depression by a
factor of 0.71. This again contradicts Hypothesis 3, which had predicted
a positive effect.
library(ggplot2)
plot_data <- df[!is.na(df$income_perception) & !is.na(df$depression_scale), ]
p <- ggplot(plot_data, aes(x = income_perception, y = depression_scale)) +
geom_boxplot(fill = "tomato") +
labs(title = "Depression Scores by Income Perception",
x = "Income Perception",
y = "Average Depression Score")
print(p)
The results from both the linear and logistic regression models provide consistent evidence regarding the relationship between income perception, social contact, and depressive symptoms.
Hypothesis 1 is strongly supported: individuals who report greater financial difficulty also report significantly higher depression scores and show a higher likelihood of meeting the criteria for clinical depression. The effect increases progressively from “Coping” to “Very Difficult”.
Hypothesis 2 is also supported: across both models, greater frequency of social contact is associated with significantly lower levels of depression. This suggests a protective effect of social relationships on mental health.
Hypothesis 3, however, is not supported. Contrary to expectations, the frequency of serious conflicts during childhood is associated with slightly lower depression scores and a decreased likelihood of clinical depression. This unexpected finding may indicate the need for more nuanced measures of early life adversity or psychological resilience.
Together, these results underline the importance of perceived income security and social connectedness in adult mental health, while raising new questions about the role of childhood experiences.
This paper examined how perceived income security, social contact, and childhood conflict relate to depressive symptoms among adults in Europe. Using both a quasi-metric depression scale and a binary clinical depression indicator, the analysis found strong evidence that lower subjective income and infrequent social interactions are associated with significantly higher levels of depression.
Both Hypothesis 1 and Hypothesis 2 were clearly supported across models, highlighting the psychological relevance of economic insecurity and social isolation. In contrast, Hypothesis 3 was not supported, as childhood conflict was unexpectedly associated with lower levels of depression. This counterintuitive finding suggests that the relationship between early adversity and adult mental health may be more complex than initially assumed and could be influenced by coping mechanisms, resilience, or reporting biases.
Overall, the findings emphasize the importance of socioeconomic and social resources in understanding mental health patterns across European populations. Future research may explore more nuanced measures of early life experiences or consider longitudinal approaches to assess long-term psychological impacts.