To what extent do usual weekly work hours predict perceived work-related stress, and does household income buffer this relationship?
The purpose of this analysis is to examine whether the psychological strain associated with longer work hours varies as a function of household economic resources. Specifically, the study tests whether individuals who work more hours report different levels of work-related stress depending on their household income. This question is important because income may function as a resource that changes how work demands are experienced.
Work Demand pPredictor): Usual weekly work hours (hrs2) Economic Resource (moderator): Household income in constant dollars (coninc) Outcome (Dependent Variable): Perceived work stress (stress)
The study is based on a simple resource-buffering framework. In this model, work hours are expected to relate to perceived stress, while household income may reduce the strength of that relationship. Put differently, longer work hours may be more stressful when financial resources are limited, but less stressful when household income is higher.
The original GSS dataset was reduced to the variables required for the analysis. Variables were converted to appropriate types, invalid values were recoded as missing, and the sample was restricted to complete cases on the study variables. This resulted in a final analytic sample of 409 respondents.
# =========================
# CREATE ANALYSIS DATASET
# =========================
analysis_data <- gss %>%
# SELECT VARIABLES
select(hrs2, coninc, rincome, stress) %>%
# SET CORRECT DATA TYPES
mutate(
hrs2 = as.numeric(hrs2),
coninc = as.numeric(coninc),
stress = as.numeric(stress),
rincome = haven::as_factor(rincome)
) %>%
# REMOVE INVALID VALUES
mutate(
# Work hours: remove impossible values
hrs2 = ifelse(hrs2 < 0 | hrs2 > 100, NA, hrs2),
# Household income: remove invalid/zero values
coninc = ifelse(coninc <= 0, NA, coninc),
# Stress scale: keep valid 1–5 only
stress = ifelse(stress < 1 | stress > 5, NA, stress)
) %>%
# COMPLETE-CASE FILTER
drop_na(hrs2, coninc, rincome, stress) %>%
# CLEAN FACTOR LEVELS
mutate(
rincome = droplevels(rincome)
)
Descriptive analyses were conducted to examine the distributional properties of the primary study variables and to assess preliminary relationships among work hours, household income, and perceived stress. These analyses provide an initial overview of central tendency, variability, and bivariate associations prior to formal hypothesis testing.
# NUMERIC SUMMARIES
numeric_vars <- analysis_data %>%
select(hrs2, coninc, stress)
desc_stats <- data.frame(
Mean = sapply(numeric_vars, mean, na.rm = TRUE),
SD = sapply(numeric_vars, sd, na.rm = TRUE),
Var = sapply(numeric_vars, var, na.rm = TRUE),
Min = sapply(numeric_vars, min, na.rm = TRUE),
Q1 = sapply(numeric_vars, quantile, probs = 0.25, na.rm = TRUE),
Median = sapply(numeric_vars, median, na.rm = TRUE),
Q3 = sapply(numeric_vars, quantile, probs = 0.75, na.rm = TRUE),
Max = sapply(numeric_vars, max, na.rm = TRUE)
)
desc_stats
## Mean SD Var Min Q1 Median Q3 Max
## hrs2 39.789731 13.283847 1.764606e+02 0 35 40 45 84.0
## coninc 60903.529826 45088.289990 2.032954e+09 1266 28668 48516 80261 178712.5
## stress 2.711491 1.077802 1.161657e+00 1 2 3 3 5.0
As shown in Table 1, respondents reported an average of approximately 40 hours of work per week, with moderate variability across individuals. Household income demonstrated substantial dispersion and positive skew, reflecting the wide spread of income values in the sample. Stress levels were generally centered around the midpoint of the scale, suggesting moderate perceived work-related stress within the sample.
# CATEGORICAL DISTRIBUTION
table(analysis_data$rincome)
##
## under $1,000 $1,000 to $2,999 $3,000 to $3,999 $4,000 to $4,999
## 9 14 6 6
## $5,000 to $5,999 $6,000 to $6,999 $7,000 to $7,999 $8,000 to $9,999
## 1 4 5 4
## $10,000 to $14,999 $15,000 to $19,999 $20,000 to $24,999 $25,000 or more
## 41 29 33 257
prop.table(table(analysis_data$rincome))
##
## under $1,000 $1,000 to $2,999 $3,000 to $3,999 $4,000 to $4,999
## 0.022004890 0.034229829 0.014669927 0.014669927
## $5,000 to $5,999 $6,000 to $6,999 $7,000 to $7,999 $8,000 to $9,999
## 0.002444988 0.009779951 0.012224939 0.009779951
## $10,000 to $14,999 $15,000 to $19,999 $20,000 to $24,999 $25,000 or more
## 0.100244499 0.070904645 0.080684597 0.628361858
The distribution of respondent income categories was skewed toward the upper category, which reflects the categorical and top-coded nature of the original income measure. This pattern is useful for understanding the composition of the broader GSS income measure, although the main analysis relies on the continuous household-income variable.
# CORRELATION MATRIX
cor(numeric_vars)
## hrs2 coninc stress
## hrs2 1.0000000 0.18694363 -0.21172915
## coninc 0.1869436 1.00000000 -0.01334143
## stress -0.2117292 -0.01334143 1.00000000
Bivariate correlations indicated a small positive association between work hours and household income, suggesting that individuals working longer hours tended to report slightly higher household income. In contrast, work hours were modestly negatively associated with stress, whereas household income showed negligible association with stress at the bivariate level. These results suggest that the relationship between work hours and stress may not be straightforward and may warrant further examination through regression modeling.
# VISUALIZATIONS
# Histogram: usual weekly work hours
ggplot(analysis_data, aes(x = hrs2)) +
geom_histogram(bins = 20) +
labs(title = "Distribution of Usual Weekly Work Hours")
The distribution of weekly work hours was centered around standard
full-time employment levels, with some variability indicating both
reduced and extended work schedules within the sample.
# Histogram: stress
ggplot(analysis_data, aes(x = stress)) +
geom_histogram(bins = 5) +
labs(title = "Distribution of Work Stress")
Reported stress levels appeared relatively evenly distributed across the
scale, with slight clustering around mid-range values.
# Scatterplot: hours vs stress
ggplot(analysis_data, aes(x = hrs2, y = stress)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm") +
labs(title = "Work Hours and Stress Relationship")
## `geom_smooth()` using formula = 'y ~ x'
The scatterplot of work hours and stress suggests a weak negative linear
association, with substantial dispersion around the fitted regression
line. This pattern indicates that work hours alone may not be a strong
predictor of stress and motivates further examination of the
relationship through regression analysis.
To test whether household income moderates the relationship between work hours and perceived stress, a linear regression model with an interaction term was estimated. Continuous predictors (work hours and household income) were mean-centered prior to analysis to improve interpretability and reduce multicollinearity. The model examined both the direct effects of work hours and income on stress, as well as their interaction.
# Center continuous predictors
analysis_data <- analysis_data %>%
mutate(
hrs2_c = scale(hrs2, center = TRUE, scale = FALSE),
coninc_c = scale(coninc, center = TRUE, scale = FALSE)
)
# Fit moderation model
model <- lm(stress ~ hrs2_c * coninc_c, data = analysis_data)
# Model summary
summary(model)
##
## Call:
## lm(formula = stress ~ hrs2_c * coninc_c, data = analysis_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.3985 -0.7183 0.2181 0.4597 2.6086
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.720e+00 5.307e-02 51.262 < 2e-16 ***
## hrs2_c -1.752e-02 4.006e-03 -4.374 1.55e-05 ***
## coninc_c 7.405e-07 1.184e-06 0.625 0.532
## hrs2_c:coninc_c -7.922e-08 8.539e-08 -0.928 0.354
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.056 on 405 degrees of freedom
## Multiple R-squared: 0.04757, Adjusted R-squared: 0.04051
## F-statistic: 6.742 on 3 and 405 DF, p-value: 0.0001901
# Check assumptions
par(mfrow = c(2,2))
plot(model)
A multiple regression analysis was conducted to examine whether
household income moderates the relationship between work hours and
perceived stress. The overall model was statistically significant,
although it explained a small proportion of variance in stress (R² =
.048, p < .001). Results indicated a small but significant negative
association between work hours and stress, such that individuals
reporting longer work hours reported slightly lower levels of stress
when controlling for income. Household income was not significantly
associated with stress, and the interaction between work hours and
income was also non-significant, indicating no evidence that income
moderates the relationship between work hours and stress.
To further examine the potential moderating role of income, income was divided into tertile-based groups for visualization only. This exploratory plot was used to illustrate whether the relationship between work hours and stress appeared different across lower-, middle-, and higher-income respondents.
# Create income groups (for visualization only)
analysis_data <- analysis_data %>%
mutate(
income_group = case_when(
coninc <= quantile(coninc, 0.33, na.rm = TRUE) ~ "Low Income",
coninc <= quantile(coninc, 0.66, na.rm = TRUE) ~ "Middle Income",
TRUE ~ "High Income"
)
)
# Interaction Plot
ggplot(analysis_data, aes(x = hrs2, y = stress, color = income_group)) +
geom_point(alpha = 0.3) +
geom_smooth(method = "lm", se = TRUE) +
labs(
title = "Interaction Between Work Hours and Income on Stress",
x = "Work Hours per Week",
y = "Perceived Stress",
color = "Income Level"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
summary(lm(stress ~ hrs2 * income_group, data = analysis_data))
##
## Call:
## lm(formula = stress ~ hrs2 * income_group, data = analysis_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.4503 -0.7146 0.2291 0.5009 2.5369
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.858001 0.317430 12.154 < 2e-16 ***
## hrs2 -0.027178 0.007131 -3.811 0.00016 ***
## income_groupLow Income -0.640328 0.423126 -1.513 0.13098
## income_groupMiddle Income -0.649543 0.421007 -1.543 0.12366
## hrs2:income_groupLow Income 0.014602 0.010157 1.438 0.15130
## hrs2:income_groupMiddle Income 0.013971 0.009662 1.446 0.14896
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.056 on 403 degrees of freedom
## Multiple R-squared: 0.0519, Adjusted R-squared: 0.04014
## F-statistic: 4.412 on 5 and 403 DF, p-value: 0.0006355
Visual inspection of the interaction plot suggested slight differences in the relationship between work hours and stress across income groups, with a more negative association observed among higher-income individuals and flatter slopes among lower- and middle-income groups. However, these interaction effects were not statistically significant, indicating that the observed differences in slopes were not robust. Thus, there is no strong evidence that income meaningfully moderates the relationship between work hours and stress in this sample.
The present study examined whether household income moderates the relationship between work hours and perceived stress. Contrary to a straightforward workload–stress assumption, results indicated a small but significant negative association between work hours and stress, such that individuals who reported working more hours also reported slightly lower levels of stress. Household income was not significantly related to stress, and no evidence was found to support the hypothesized moderating effect of income. Although visual inspection of the interaction suggested minor differences across income groups, these differences were not statistically reliable.
The observed negative relationship between work hours and stress may reflect underlying differences in employment conditions rather than a direct causal effect of workload. Individuals working longer hours may occupy more stable, higher-quality, or better-compensated positions, which could be associated with greater job security, autonomy, or access to resources that mitigate stress. Conversely, individuals working fewer hours may include those experiencing underemployment or financial strain, which could contribute to elevated stress levels. Thus, work hours in this context may function as a proxy for broader employment quality rather than solely representing workload demands.
Contrary to expectations, household income was not significantly associated with stress, nor did it moderate the relationship between work hours and stress. One explanation is that income, particularly when measured at the household level, may not directly capture the aspects of financial experience most relevant to stress, such as financial insecurity, perceived adequacy, or income volatility. Additionally, the structure of income measurement may limit the ability to detect nuanced relationships at higher income levels where variability is compressed.
Although the interaction between work hours and income was not statistically significant, visual patterns suggested slight differences in slopes across income groups. Specifically, the negative association between work hours and stress appeared somewhat stronger among higher-income individuals and weaker among lower-income individuals. However, these differences were small and inconsistent, indicating that income does not meaningfully alter the relationship between work hours and stress in this sample. This suggests that the factors linking work hours to stress may operate similarly across income levels or that other unmeasured variables play a more central moderating role.
From an applied perspective, these findings suggest that increasing income alone may not be sufficient to buffer the relationship between work demands and stress. Instead, interventions aimed at improving employee well-being may benefit from focusing on job quality factors such as autonomy, workload manageability, and organizational support. Additionally, the results highlight the importance of considering employment context when evaluating the effects of work hours, as longer hours do not uniformly correspond to greater stress.
Several limitations should be noted. First, the cross-sectional nature of the data precludes causal inference, and the observed relationships may reflect selection effects rather than direct causal mechanisms. Second, the use of self-reported measures introduces potential bias and limits precision, particularly for constructs such as stress. Third, the reliance on complete-case analysis reduced the sample size substantially, which may have limited statistical power to detect interaction effects. Finally, income was measured at the household level and may not fully capture individual financial strain.
Future research should incorporate more precise measures of individual income and financial strain, as well as additional job-related variables such as occupation, job control, and perceived workload. Longitudinal designs would be particularly valuable in disentangling causal relationships between work hours, income, and stress over time. Additionally, examining psychological and organizational moderators—such as autonomy, job demands, and boundary management—may provide a more comprehensive understanding of how work characteristics influence employee well-being.