Introduction

This analysis examines social determinants of depression in Austria using the European Social Survey (ESS11) dataset.

Hypotheses

Hypothesis 1 Individuals with a higher frequency of alcohol consumption will exhibit higher levels of depressive symptoms.

Hypothesis 2: Lower frequency of vegetable consumption is associated with higher depressive symptom scores.

Hypothesis 3: Households with greater difficulty managing their income are positively associated with higher depressive symptoms.

Hypothesis 4: People living in rural areas will exhibit higher depressive symptoms than those living in urban areas.

Data and Sample

Depression Scale Calculation and Reliability

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

Variable Recoding for Multivariate Model

## 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"

Multivariate Regression Model

#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 observations deleted due to missingness)
## Multiple R-squared:  0.1003, Adjusted R-squared:  0.09377 
## F-statistic: 15.32 on 16 and 2199 DF,  p-value: < 2.2e-16

Results

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.