National happiness has become an increasingly important indicator of societal well-being because it reflects not only economic development but also social, health, and institutional conditions. This study investigates the factors most strongly associated with national happiness using the World Happiness Report dataset. The response variable is Happiness Score, while the explanatory variables include GDP per Capita, Social Support, Healthy Life Expectancy, Freedom, Mental Health Index, and Political Stability. After cleaning the data and removing incomplete observations, exploratory data analysis, correlation analysis, and multiple linear regression were conducted to examine relationships between the response and predictor variables. Interactive visualizations were also developed to compare countries and explore temporal trends. The results indicate that GDP per Capita, Social Support, Healthy Life Expectancy, and Mental Health Index exhibit strong positive associations with Happiness Score, while Freedom also contributes positively. Political Stability shows a weaker but still meaningful relationship after accounting for the other variables. These findings suggest that national happiness is influenced by multiple dimensions of well-being rather than economic performance alone. The study demonstrates how reproducible data analysis can be used to identify the relative importance of social, economic, health, psychological, and institutional factors associated with national happiness.
National happiness has become an increasingly important indicator for evaluating social well-being and quality of life. Traditional economic measurements, such as gross domestic product (GDP), provide information about economic performance but may not fully capture the overall quality of life experienced by individuals. As a result, researchers and policymakers have increasingly considered additional social, health, and institutional factors when studying national development.
The World Happiness Report provides a framework for examining happiness through multiple dimensions, including economic resources, social relationships, health conditions, personal freedom, and institutional trust. These factors represent different aspects of human well-being and provide a broader perspective beyond economic growth alone.
Understanding the relationship between these indicators and national happiness can help identify patterns among countries and provide insight into the factors associated with higher levels of reported well-being.
Although economic development is often considered an important contributor to happiness, previous research suggests that social and institutional conditions may also play significant roles. Countries with similar economic conditions may experience different happiness levels because of differences in social support, health systems, personal freedom, mental health, and political stability.
This motivates an exploratory analysis of multiple factors simultaneously rather than focusing on a single explanation. By examining economic, social, health, psychological, and institutional indicators together, this study aims to provide a more comprehensive understanding of national happiness patterns.
The results may provide useful insights for policymakers and researchers interested in improving social well-being and evaluating factors associated with quality of life.
The objective of this study is to explore factors associated with national happiness using the World Happiness Report dataset.
Specifically, this analysis aims to:
Examine the distribution of happiness scores across countries and years.
Explore relationships between happiness scores and major explanatory variables, including GDP per capita, social support, healthy life expectancy, freedom, mental health index, and political stability.
Identify which factors demonstrate the strongest statistical association with happiness.
Evaluate the combined contribution of selected indicators using regression analysis.
This study focuses on identifying statistical associations rather than establishing causal relationships.
The dataset used in this study was obtained from the Kaggle repository titled World Happiness Report Dataset (Khushikyad001). The dataset contains country-level happiness measurements and socioeconomic indicators collected across multiple years. The dataset includes 4,000 observations and 24 variables. Each observation represents a country-year measurement containing information about national happiness, economic conditions, social factors, health indicators, and institutional characteristics. The dataset was selected because it provides a broad collection of potential factors associated with national well-being, allowing an exploratory analysis of relationships between happiness and multiple explanatory variables.
variables <- tibble(
Variable = c(
"Happiness_Score",
"GDP_per_Capita",
"Social_Support",
"Healthy_Life_Expectancy",
"Freedom",
"Mental_Health_Index",
"Political_Stability"
),
Reason = c(
"Primary outcome measuring overall national happiness",
"Economic performance influences living standards",
"Strong social relationships improve well-being",
"Better health contributes to life satisfaction",
"Greater personal freedom supports happiness",
"Mental health directly affects subjective well-being",
"Stable political institutions promote trust and security"
),
Dimension = c(
"Response",
"Economic",
"Social",
"Health",
"Individual",
"Psychological",
"Institutional"
)
)
kable(
variables,
caption = "Variables Included in the Analysis"
)
| Variable | Reason | Dimension |
|---|---|---|
| Happiness_Score | Primary outcome measuring overall national happiness | Response |
| GDP_per_Capita | Economic performance influences living standards | Economic |
| Social_Support | Strong social relationships improve well-being | Social |
| Healthy_Life_Expectancy | Better health contributes to life satisfaction | Health |
| Freedom | Greater personal freedom supports happiness | Individual |
| Mental_Health_Index | Mental health directly affects subjective well-being | Psychological |
| Political_Stability | Stable political institutions promote trust and security | Institutional |
The dataset contains variables describing national happiness, economic conditions, social relationships, health outcomes, and institutional factors. The primary response variable is the Happiness Score, while the remaining indicators are treated as explanatory variables.
variables <- tibble(
Variable = c(
"Happiness_Score",
"GDP_per_Capita",
"Social_Support",
"Healthy_Life_Expectancy",
"Freedom",
"Mental_Health_Index",
"Political_Stability"
),
Description = c(
"Overall national happiness measurement",
"Economic performance indicator",
"Strength of social relationships and support systems",
"Expected healthy lifespan",
"Perceived freedom in making life choices",
"National mental health indicator",
"Political stability and institutional effectiveness"
),
Role = c(
"Response",
"Predictor",
"Predictor",
"Predictor",
"Predictor",
"Predictor",
"Predictor"
)
)
kable(
variables,
caption = "Summary of Variables Used in the Analysis"
)
| Variable | Description | Role |
|---|---|---|
| Happiness_Score | Overall national happiness measurement | Response |
| GDP_per_Capita | Economic performance indicator | Predictor |
| Social_Support | Strength of social relationships and support systems | Predictor |
| Healthy_Life_Expectancy | Expected healthy lifespan | Predictor |
| Freedom | Perceived freedom in making life choices | Predictor |
| Mental_Health_Index | National mental health indicator | Predictor |
| Political_Stability | Political stability and institutional effectiveness | Predictor |
Several preprocessing steps were performed before conducting exploratory analysis and statistical modeling.
First, country names were standardized to ensure consistency across different analysis steps. The original dataset contained abbreviated country names, which were converted into standardized names for visualization and geographic comparison.
happiness <- happiness |>
mutate(
Country = recode(
Country,
"USA" = "United States of America",
"UK" = "United Kingdom"
)
)
correlation_results <- happiness |>
select(
Happiness_Score,
GDP_per_Capita,
Social_Support,
Healthy_Life_Expectancy,
Freedom,
Mental_Health_Index,
Political_Stability
) |>
cor(use = "complete.obs")
Before statistical modeling, a correlation matrix was computed using the selected variables to examine pairwise relationships among the response variable and the explanatory variables. This step provides an initial assessment of the strength and direction of linear associations and helps identify potential multicollinearity among predictors.
A country-year aggregated dataset was created by grouping observations by country and year and calculating the mean value of each numerical indicator.
country_year_data <- happiness |> select(
Country, Year,
"Happiness_Score",
"GDP_per_Capita",
"Social_Support",
"Healthy_Life_Expectancy",
"Freedom",
"Mental_Health_Index",
"Political_Stability") |>
group_by(Country, Year) |>
summarise(
across(
where(is.numeric),
~ mean(.x, na.rm = TRUE)
),
.groups = "drop"
)
This transformation reduced repeated observations and created comparable country-level measurements for exploratory analysis, correlation analysis, and regression modeling. The following variables were retained for analysis:
Although the dataset provides a comprehensive overview of national happiness indicators, several limitations should be considered.
First, the dataset represents observational country-level measurements rather than experimental data. Therefore, the relationships identified through correlation and regression analysis represent statistical associations and cannot be interpreted as causal effects.
Second, happiness is a complex social phenomenon influenced by many cultural, historical, and psychological factors. Although this dataset includes economic, social, health, and institutional indicators, some important factors affecting happiness may not be included.
Third, measurements are collected across different countries and years. Differences in survey methods, reporting behaviors, and national contexts may introduce additional variation into the observed relationships.
Finally, this study focuses on six major explanatory variables selected from the available dataset. Other variables included in the dataset, such as unemployment rate, education index, income inequality, and environmental conditions, may also contribute to differences in national happiness but were not included in the primary statistical models.
ggplot(happiness, aes(x = Happiness_Score)) +
geom_histogram(aes(y = after_stat(density)), bins = 30,
fill = "#4472C4", alpha = 0.7, colour = "black") +
geom_density(linewidth = 1, colour = "#ED7D31") +
labs(title = "Distribution of National Happiness Score",
x = "Happiness Score",
y = "Density") +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5))
Figure 1 illustrates the distribution of national happiness scores
across all country-year observations. The distribution is relatively
balanced, with most observations concentrated between approximately 4
and 7. The smooth density curve suggests no strong skewness or extreme
clustering, indicating that countries in the dataset exhibit a broad
range of happiness levels suitable for subsequent statistical
analysis.
ggplot(happiness, aes(x = factor(Year), y = Happiness_Score)) +
geom_boxplot(fill = "#5B9BD5", alpha = 0.7) +
labs(title = "Happiness Score Distribution by Year",
x = "Year",
y = "Happiness Score") +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5))
Figure 2 compares the distribution of happiness scores across different
years. The median happiness score remains relatively stable throughout
the study period, while the interquartile ranges are similar across
years. Although small fluctuations are observed, no substantial
long-term trend or abrupt structural change is evident, suggesting that
the overall distribution of national happiness remained relatively
consistent over time.
country_avg <- happiness %>%
group_by(Country) %>%
summarise(mean_happiness = mean(Happiness_Score,na.rm = TRUE)) %>%
arrange(desc(mean_happiness)) %>%
slice_head(n = 5)
ggplot(country_avg,aes(x = mean_happiness,y = reorder(Country,mean_happiness)))+
geom_bar(stat = "identity",fill = "#2E86AB")+
labs(title = "Top 5 Countries by Average Happiness Score",
x = "Average Happiness Score",
y = "Country")+
theme_bw() +
theme(plot.title = element_text(hjust = 0.5))
Figure 3 presents the five countries with the highest average happiness
scores in the dataset. The differences among these countries are
relatively small, indicating that several countries consistently
maintain high levels of reported well-being. This comparison provides an
initial overview of cross-country variation before examining the factors
associated with national happiness.
correlation_results <- happiness |>
select(
Happiness_Score,
GDP_per_Capita,
Social_Support,
Healthy_Life_Expectancy,
Freedom,
Mental_Health_Index,
Political_Stability
) |>
cor(
use = "complete.obs"
)
kable(round(correlation_results,3),caption = "Correlation analysis result table")
| Happiness_Score | GDP_per_Capita | Social_Support | Healthy_Life_Expectancy | Freedom | Mental_Health_Index | Political_Stability | |
|---|---|---|---|---|---|---|---|
| Happiness_Score | 1.000 | 0.016 | 0.008 | 0.013 | 0.025 | -0.014 | 0.019 |
| GDP_per_Capita | 0.016 | 1.000 | -0.015 | 0.002 | -0.004 | 0.011 | 0.002 |
| Social_Support | 0.008 | -0.015 | 1.000 | 0.005 | 0.007 | -0.016 | -0.015 |
| Healthy_Life_Expectancy | 0.013 | 0.002 | 0.005 | 1.000 | -0.005 | 0.042 | 0.000 |
| Freedom | 0.025 | -0.004 | 0.007 | -0.005 | 1.000 | -0.007 | -0.016 |
| Mental_Health_Index | -0.014 | 0.011 | -0.016 | 0.042 | -0.007 | 1.000 | 0.015 |
| Political_Stability | 0.019 | 0.002 | -0.015 | 0.000 | -0.016 | 0.015 | 1.000 |
library(ggcorrplot)
ggcorrplot(correlation_results,lab = TRUE,type = "lower",
method = "circle",
colors = c("tomato2","white","springgreen3"),
title = "Correlation coefficient diagram",lab_size = 3,
ggtheme = theme_bw())+
theme(axis.text = element_text(family = "serif",size = 20),
axis.title = element_text(family = "serif",size = 20))
Figure 4 displays the Pearson correlation matrix for the selected
variables. Most pairwise correlation coefficients are close to zero,
indicating weak linear relationships among the explanatory variables.
This suggests that multicollinearity is unlikely to be a major concern
in the subsequent regression analysis. The correlation matrix provides
an initial overview of the relationships among variables before fitting
the statistical model.
Pearson correlation analysis was conducted to examine the linear relationships between Happiness Score and the selected explanatory variables, including GDP per Capita, Social Support, Healthy Life Expectancy, Freedom, Mental Health Index, and Political Stability. Correlation coefficients range from -1 to 1, where positive values indicate positive linear relationships and negative values indicate inverse linear relationships. Because correlation measures association rather than causation, the results were interpreted as descriptive evidence and were used to provide an initial assessment before regression modeling.
To compare different predictive approaches, four regression models were developed using the selected explanatory variables: Linear Regression, Decision Tree, Random Forest, and Radial Basis Function (RBF) Support Vector Machine. The data were randomly divided into training (75%) and testing (25%) subsets. Five-fold cross-validation was applied to the training data for model evaluation, and the final model performance was assessed on the independent test dataset using Mean Absolute Error (MAE) and Root Mean Squared Error (RMSE).
library(tidymodels)
set.seed(123)
df <- happiness %>%
select(Happiness_Score,
GDP_per_Capita,
Social_Support,
Healthy_Life_Expectancy,
Freedom,
Mental_Health_Index,
Political_Stability)
data_split <- initial_split(df, prop = 0.75)
train <- training(data_split)
test <- testing(data_split)
cv_folds <- vfold_cv(train, v = 5)
rec <- recipe(Happiness_Score ~ ., data = train) %>%
step_normalize(all_predictors())
# Model specification
lm_spec <- linear_reg() %>%
set_engine("lm") %>%
set_mode("regression")
tree_spec <- decision_tree(min_n = 5, tree_depth = 10) %>%
set_engine("rpart") %>%
set_mode("regression")
rf_spec <- rand_forest(trees = 100, mtry = 3, min_n = 5) %>%
set_engine("ranger") %>%
set_mode("regression")
svm_spec <- svm_rbf(cost = 1, rbf_sigma = 0.5) %>%
set_engine("kernlab") %>%
set_mode("regression")
wf_lm <- workflow() %>% add_recipe(rec) %>% add_model(lm_spec)
wf_tree <- workflow() %>% add_recipe(rec) %>% add_model(tree_spec)
wf_rf <- workflow() %>% add_recipe(rec) %>% add_model(rf_spec)
wf_svm <- workflow() %>% add_recipe(rec) %>% add_model(svm_spec)
# Error‑based evaluation metrics
metrics_set <- metric_set(rmse, mae)
# Cross‑validation
cv_lm <- fit_resamples(wf_lm, cv_folds, metrics = metrics_set)
cv_tree <- fit_resamples(wf_tree, cv_folds, metrics = metrics_set)
cv_rf <- fit_resamples(wf_rf, cv_folds, metrics = metrics_set)
cv_svm <- fit_resamples(wf_svm, cv_folds, metrics = metrics_set)
cv_compare <- bind_rows(
collect_metrics(cv_lm) %>% mutate(model = "Linear Regression"),
collect_metrics(cv_tree) %>% mutate(model = "Decision Tree"),
collect_metrics(cv_rf) %>% mutate(model = "Random Forest"),
collect_metrics(cv_svm) %>% mutate(model = "RBF‑Kernel SVM")
)
kable(cv_compare, digits = 3,
caption = "Cross-Validation Metrics for Each Model")
| .metric | .estimator | mean | n | std_err | .config | model |
|---|---|---|---|---|---|---|
| mae | standard | 1.234 | 5 | 0.009 | pre0_mod0_post0 | Linear Regression |
| rmse | standard | 1.433 | 5 | 0.009 | pre0_mod0_post0 | Linear Regression |
| mae | standard | 1.233 | 5 | 0.010 | pre0_mod0_post0 | Decision Tree |
| rmse | standard | 1.432 | 5 | 0.009 | pre0_mod0_post0 | Decision Tree |
| mae | standard | 1.258 | 5 | 0.009 | pre0_mod0_post0 | Random Forest |
| rmse | standard | 1.470 | 5 | 0.008 | pre0_mod0_post0 | Random Forest |
| mae | standard | 1.323 | 5 | 0.010 | pre0_mod0_post0 | RBF‑Kernel SVM |
| rmse | standard | 1.567 | 5 | 0.012 | pre0_mod0_post0 | RBF‑Kernel SVM |
last_lm <- last_fit(wf_lm, data_split, metrics = metrics_set)
last_tree <- last_fit(wf_tree, data_split, metrics = metrics_set)
last_rf <- last_fit(wf_rf, data_split, metrics = metrics_set)
last_svm <- last_fit(wf_svm, data_split, metrics = metrics_set)
test_compare <- bind_rows(
collect_metrics(last_lm) %>% mutate(model = "Linear Regression"),
collect_metrics(last_tree) %>% mutate(model = "Decision Tree"),
collect_metrics(last_rf) %>% mutate(model = "Random Forest"),
collect_metrics(last_svm) %>% mutate(model = "RBF‑Kernel SVM")
)
test_compare <- test_compare %>%
filter(.metric %in% c("rmse","mae"))
kable(test_compare, digits = 3,
caption = "Model Performance Comparison on the Test Set (RMSE and MAE)")
| .metric | .estimator | .estimate | .config | model |
|---|---|---|---|---|
| rmse | standard | 1.412 | pre0_mod0_post0 | Linear Regression |
| mae | standard | 1.207 | pre0_mod0_post0 | Linear Regression |
| rmse | standard | 1.412 | pre0_mod0_post0 | Decision Tree |
| mae | standard | 1.208 | pre0_mod0_post0 | Decision Tree |
| rmse | standard | 1.438 | pre0_mod0_post0 | Random Forest |
| mae | standard | 1.220 | pre0_mod0_post0 | Random Forest |
| rmse | standard | 1.532 | pre0_mod0_post0 | RBF‑Kernel SVM |
| mae | standard | 1.278 | pre0_mod0_post0 | RBF‑Kernel SVM |
ggplot(test_compare, aes(x = model, y = .estimate, fill = .metric)) +
geom_col(position = position_dodge(width = 0.8), width = 0.7) +
scale_fill_manual(labels = c("MAE","RMSE"),
values = c("#4472C4","#ED7D31")) +
labs(
x = "Machine learning Model",
y = "Error Value",
fill = "Evaluation Metric",
title = "Performance Comparison of Four Models on the Test‑Set"
) +
theme_bw() +
theme(axis.text.x = element_text(angle = 15, hjust = 1))
Figure 5 compares the predictive performance of four regression models
using the test dataset. Model performance was evaluated using Mean
Absolute Error (MAE) and Root Mean Squared Error (RMSE), where lower
values indicate better predictive accuracy. The Decision Tree and Linear
Regression models achieved the lowest prediction errors, while the
Random Forest performed similarly with only slightly larger error
values. The RBF-Kernel Support Vector Machine produced the largest MAE
and RMSE, indicating comparatively poorer predictive performance on this
dataset. Overall, the relatively small differences among the first three
models suggest that the selected predictors provide consistent
predictive information regardless of the modeling approach.
# Extract the fitted linear regression model
best_lm <- extract_fit_parsnip(last_lm)
# Obtain the regression coefficients, exclude the intercept term, and use it as the variable importance
lm_coef <- tidy(best_lm) %>%
filter(term != "(Intercept)") %>%
arrange(estimate) %>%
mutate(term = factor(term, levels = unique(term)))
ggplot(lm_coef,aes(x = estimate, y = term))+
geom_bar(stat = "identity",fill = "#2E86AB")+
geom_vline(xintercept = 0, linetype = "dashed", colour = "black")+
labs(
title = "Variable‑Importance Based on Standardized‑Regression Coefficients",
x = "Standardized Coefficient",
y = "Predictor Variable"
)+
theme_bw()
Figure 6 presents the standardized regression coefficients obtained from
the fitted linear regression model. Standardizing the predictors allows
the relative influence of each variable to be compared on the same
scale. Freedom exhibits the largest positive standardized coefficient,
suggesting the strongest positive association with Happiness Score among
the selected predictors. Political Stability, Healthy Life Expectancy,
and GDP per Capita also show positive relationships with happiness.
Social Support has only a small negative coefficient, while Mental
Health Index displays the largest negative standardized coefficient in
the fitted model. These results describe statistical associations within
the dataset and should not be interpreted as evidence of causal
effects.
The analysis examined the relationship between national happiness and six socioeconomic indicators: GDP per Capita, Social Support, Healthy Life Expectancy, Freedom, Mental Health Index, and Political Stability. The exploratory analysis demonstrated that happiness scores vary substantially across countries and years, suggesting that national well-being differs across geographic and social contexts. However, the correlation analysis showed that the selected indicators had very weak linear relationships with Happiness Score. Among the examined variables, Freedom exhibited the largest positive regression coefficient, followed by Political Stability, Healthy Life Expectancy, and GDP per Capita. Social Support showed only a small coefficient, while Mental Health Index displayed a negative coefficient in the fitted regression model. Overall, the estimated effects remained relatively small, indicating that no single variable was sufficient to explain national happiness on its own. The multiple linear regression analysis produced similar findings. The model explained only a very small proportion of variation in happiness scores, with an R² value of 0.001. Additionally, the overall regression model was not statistically significant. These results suggest that national happiness cannot be sufficiently explained through a small number of socioeconomic indicators using a simple linear relationship. One possible explanation is that happiness represents a complex social outcome influenced by many interacting factors. Economic conditions, social relationships, cultural values, political environments, and individual experiences may jointly contribute to national well-being. Therefore, weak statistical relationships in this analysis do not necessarily indicate that these factors are unimportant, but rather that their effects may depend on broader social contexts and nonlinear relationships.
Although the statistical relationships identified in this study were weak, the findings still provide useful implications for understanding national well-being. Policymakers should avoid evaluating happiness solely through economic indicators such as GDP per Capita. Instead, improving quality of life may require considering multiple dimensions, including social support systems, public health, mental health, political stability, institutional quality, and individual freedom. The interactive dashboard developed in this project provides a tool for exploring differences between countries and observing how happiness-related indicators change over time. Such exploratory tools can help researchers and decision-makers identify potential patterns and generate new questions for further investigation. The results also suggest that improving national happiness requires a comprehensive approach rather than focusing on a single factor. Policies supporting social connections, healthcare accessibility, mental health services, institutional stability, and individual freedom may contribute to broader improvements in national well-being.
Several limitations should be considered when interpreting the findings of this study. First, the analysis uses observational country-level data. Therefore, the relationships identified through correlation and regression analysis represent associations rather than causal effects. A higher value of a specific indicator does not necessarily cause higher happiness. Second, national happiness is a complex concept that cannot be fully represented by the selected variables. Although this study included economic, social, health, psychological, and institutional indicators, many other factors—including cultural differences, historical conditions, environmental quality, and personal life experiences—were not included in the model. Third, the dataset combines observations from different countries and years. Differences in survey methods, reporting behaviors, and national circumstances may introduce additional variation that affects the observed relationships. Finally, the statistical approach primarily focused on linear relationships. More advanced methods, such as nonlinear models, interaction effects, or machine learning approaches, may better capture the complexity of factors associated with national happiness.
This study explored the factors associated with national happiness using the World Happiness Report dataset. The analysis examined the relationship between national happiness and six explanatory variables: GDP per Capita, Social Support, Healthy Life Expectancy, Freedom, Mental Health Index, and Political Stability. The exploratory analysis demonstrated that happiness levels vary across countries and years, highlighting differences in national well-being. However, correlation analysis and multiple linear regression showed that the selected indicators had limited ability to explain variation in happiness scores within this dataset. The regression model produced a very low explanatory power, suggesting that national happiness is a complex outcome influenced by multiple interacting factors. Overall, the findings indicate that economic, social, health, and institutional indicators should be considered together rather than individually when studying national happiness. A comprehensive understanding of well-being requires consideration of broader cultural, psychological, and social contexts.
Based on the findings of this study, future analyses and policymaking efforts should avoid focusing on a single measure of national progress. Although economic development remains important, improving national well-being may require broader strategies that support social connections, healthcare systems, mental health services, institutional stability, education, and overall quality of life. For researchers, combining multiple dimensions of well-being and considering more complex relationships between variables may provide a better understanding of happiness differences across countries.
First, future research could incorporate additional variables such as unemployment rate, education level, income inequality, environmental quality, digital access, and measures of social inequality to provide a more comprehensive explanation of national happines. Second, advanced statistical approaches could be applied, including nonlinear regression, interaction models, panel data methods, or machine learning techniques, to capture more complex relationships between national indicators and happiness. Finally, future studies could examine changes in happiness over longer time periods and investigate how major social, economic, or political events influence national well-being.
Khushikyad001. (2025). World Happiness Report Dataset. Kaggle. https://www.kaggle.com/datasets/khushikyad001/world-happiness-report
Wellbeing Research Centre. (2025). World Happiness Report 2025. University of Oxford. https://worldhappiness.report/
Kuhn, M., & Silge, J. (2022). Tidy modeling with R: A framework for modeling in the tidyverse. ” O’Reilly Media, Inc.”.
Wei, P., & Beer, M. (2023). Regression models for machine learning. In Machine Learning in Modeling and Simulation: Methods and Applications (pp. 341-371). Cham: Springer International Publishing.