This analysis examines social determinants of depression in Austria using the European Social Survey (ESS11) dataset.
We begin with the full ESS11 dataset (N = 40156).
Hypotheses
# convert to numeric
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)
# reverse scoring for the positive items
df$d23 = 5-df$d23
df$d25 = 5-df$d25
# check degree of consistency (internal consistency)
cronbach.alpha(df[,c("d20", "d21", "d22", "d23", "d24", "d25", "d26", "d27" )], na.rm=T)
##
## Cronbach's alpha for the 'df[, c("d20", "d21", "d22", "d23", "d24", "d25", "d26", "d27")]' data-set
##
## Items: 8
## Sample units: 40156
## alpha: 0.823
# compute the score
df$dep = rowSums(df[,c("d20", "d21", "d22", "d23", "d24", "d25", "d26", "d27")]) / 8
table(df$cntry)
##
## Albania Austria Belgium Bulgaria
## 0 2354 1594 0
## Switzerland Cyprus Czechia Germany
## 1384 685 0 2420
## Denmark Estonia Spain Finland
## 0 0 1844 1563
## France United Kingdom Georgia Greece
## 1771 1684 0 2757
## Croatia Hungary Ireland Israel
## 1563 2118 2017 0
## Iceland Italy Lithuania Luxembourg
## 842 2865 1365 0
## Latvia Montenegro North Macedonia Netherlands
## 0 0 0 1695
## Norway Poland Portugal Romania
## 1337 1442 1373 0
## Serbia Russian Federation Sweden Slovenia
## 1563 0 1230 1248
## Slovakia Turkey Ukraine Kosovo
## 1442 0 0 0
unique(df$cntry)
## [1] Austria Belgium Switzerland Cyprus Germany
## [6] Spain Finland France United Kingdom Greece
## [11] Croatia Hungary Ireland Iceland Italy
## [16] Lithuania Netherlands Norway Poland Portugal
## [21] Serbia Sweden Slovenia Slovakia
## 40 Levels: Albania Austria Belgium Bulgaria Switzerland Cyprus ... Kosovo
# subset to Austria
df_Austria = df[df$cntry == "Austria", ]
nrow(df_Austria)
## [1] 2354
The Austrian sample consisted of 2354 respondents.
## alcfreq is factor, make it numeric & new levels & recode
df_Austria$alcfreq_num = NA
df_Austria$alcfreq_num[df_Austria$alcfreq == "Every day"] = 1
df_Austria$alcfreq_num[df_Austria$alcfreq == "Several times a week"] = 2
df_Austria$alcfreq_num[df_Austria$alcfreq == "Once a week"] = 3
df_Austria$alcfreq_num[df_Austria$alcfreq == "2-3 times a month"] = 4
df_Austria$alcfreq_num[df_Austria$alcfreq == "Once a month"] = 5
df_Austria$alcfreq_num[df_Austria$alcfreq == "Less than once a month"] = 6
df_Austria$alcfreq_num[df_Austria$alcfreq == "Never"] = 7
# recoding
df_Austria$alcfreq_recoded = 8 - df_Austria$alcfreq_num
table(df_Austria$alcfreq_recoded)
##
## 1 2 3 4 5 6 7
## 531 231 152 375 380 511 171
# group domicil
df_Austria$domicil = as.numeric(df_Austria$domicil)
table(df_Austria$domicil)
##
## 1 2 3 4 5
## 590 173 632 872 86
# now make levels to prove hypothesis
# Urban = Level 1 + 2 (A big city + Suburbs or outskirts of big city)
# Suburban = Level 3 (Town or small city)
# Rural = Level 4 +5 (Country village + Farm or home in countryside)
df_Austria$domicil_group = factor(NA, levels = c("Urban", "Suburban", "Rural"))
# Assign groups based on domicil levels
df_Austria$domicil_group[df_Austria$domicil %in% c(1, 2)] = "Urban"
df_Austria$domicil_group[df_Austria$domicil == 3] = "Suburban"
df_Austria$domicil_group[df_Austria$domicil %in% c(4, 5)] = "Rural"
#Model 4:
model4 = lm(dep ~ alcfreq_recoded + eatveg + hincfel + domicil_group + wlespdm, data = df_Austria)
summary(model4)
##
## Call:
## lm(formula = dep ~ alcfreq_recoded + eatveg + hincfel + domicil_group +
## wlespdm, data = df_Austria)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.16224 -0.29985 -0.08715 0.23543 2.41305
##
## Coefficients:
## Estimate Std. Error
## (Intercept) 1.633751 0.101523
## alcfreq_recoded -0.006975 0.004481
## eatvegTwice a day -0.023437 0.062486
## eatvegOnce a day -0.046668 0.059667
## eatvegLess than once a day but at least 4 times a week -0.028844 0.061251
## eatvegLess than 4 times a week but at least once a week -0.003095 0.065453
## eatvegLess than once a week 0.276800 0.117664
## eatvegNever 0.377137 0.304017
## hincfelCoping on present income 0.090058 0.020289
## hincfelDifficult on present income 0.340467 0.031041
## hincfelVery difficult on present income 0.654829 0.062058
## domicil_groupSuburban -0.026773 0.023637
## domicil_groupRural -0.022742 0.021371
## wlespdmRarely -0.120201 0.088842
## wlespdmSometimes -0.051773 0.082826
## wlespdmOften -0.053168 0.082303
## wlespdmAlways -0.079788 0.085652
## t value Pr(>|t|)
## (Intercept) 16.092 < 2e-16 ***
## alcfreq_recoded -1.557 0.1197
## eatvegTwice a day -0.375 0.7076
## eatvegOnce a day -0.782 0.4342
## eatvegLess than once a day but at least 4 times a week -0.471 0.6378
## eatvegLess than 4 times a week but at least once a week -0.047 0.9623
## eatvegLess than once a week 2.352 0.0187 *
## eatvegNever 1.241 0.2149
## hincfelCoping on present income 4.439 9.49e-06 ***
## hincfelDifficult on present income 10.968 < 2e-16 ***
## hincfelVery difficult on present income 10.552 < 2e-16 ***
## domicil_groupSuburban -1.133 0.2575
## domicil_groupRural -1.064 0.2874
## wlespdmRarely -1.353 0.1762
## wlespdmSometimes -0.625 0.5320
## wlespdmOften -0.646 0.5183
## wlespdmAlways -0.932 0.3517
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4208 on 2199 degrees of freedom
## (138 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.1003, Adjusted R-squared: 0.09377
## F-statistic: 15.32 on 16 and 2199 DF, p-value: < 2.2e-16
The model 4 suggests that, within the Austrian sample, financial stress is the most robust predictor of depressive symptoms, while dietary habits (low vegetable consumption) also play a role. The lack of significant effects for alcohol frequency, domicile, and perceived gender inequality indicates that these factors may be less influential or that their effects might be moderated by other variables not captured in this model.