--- title: "Legitimation Amid Dependence (1960-2010): A Dataset on the Determinants of Authoritarian Legitimation Strategies - DATA ANALYSIS SCRIPT" author: "Farah Aly" date: "2024-05-30" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` ```{r libraries} rm(list = ls()) p_required <- c("tidyr", "dplyr", "tidyverse", "haven", "readxl", "countrycode", "lmtest", "car", "clarify", "data.table", "stargazer", "ggbreak", "ggtext", "scales", "ggfortify") packages <- rownames(installed.packages()) p_to_install <- p_required[!(p_required %in% packages)] if (length(p_to_install) > 0) { install.packages(p_to_install) } sapply(p_required, require, character.only = TRUE) rm(p_required, p_to_install, packages) ``` ```{r wd, test & simulation} data1960 <- read.csv("DIRECTORY/legitimation_dependence_1960_2010.csv") model_test <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data1960) #summary(model_test) ###confidence intervals #confint(model_test) ###diagnostic tests resettest(model_test, power = 2:3) ### high omitted variable bias vif(model_test) ### no multicollinearity bptest(model_test) ### high heteroscedasticity shapiro.test(residuals(model_test)) dwtest(model_test) ### no autocorrelation plot(model_test, which = 1) autoplot(model_test) #### ggfortify ### SIMULATION / MARGINAL EFFECT PLOT ### using the clarify package # King, G., Tomz, M., & Wittenberg, J. (2000). Making the Most of Statistical Analyses: Improving Interpretation and Presentation. American Journal of Political Science, 44(2), 347–361. https://doi.org/10.2307/2669316 coef <- coef(model_test) varcov <- vcov(model_test) s1 <- clarify::sim(fit = model_test, n=1000, coefs=coef, vcov=varcov) sim_1 <- sim_setx (s1, x= list(netdependence_diff=seq(-4,18,2)), verbose = FALSE, ) p <- plot(sim_1) p <- p + labs( x = "∆ Net Dependence", y = "Predicted Magnitude of Shift
from Ideological to Pragmatic Legitimation
(Scaled 0 to 100)
" ) + theme( axis.title.x = element_markdown(), axis.title.y = element_markdown(), text = element_text(family = "Times New Roman") ) + scale_fill_manual(values = "green") p$layers[[2]]$aes_params$fill <- "green" p #ggsave("clarify_plot.png", plot = p, width = 10, height = 6, units = "in") sd(data1960$normalized_extent, na.rm = T) plot_cont <- ggplot(data = data1960, aes(x = normalized_extent)) + geom_histogram() plot_cont g2 <- plot_cont + scale_y_break(c(150, 3350), scales = 0.3, space= 1) + theme_minimal() g2 negative_cases <- data1960 %>% dplyr::filter(extent_shift_ideo_to_prag < 0) %>% nrow() negative_cases positive_cases <- data1960 %>% dplyr::filter(extent_shift_ideo_to_prag > 0) %>% nrow() positive_cases no_change <- data1960 %>% dplyr::filter(extent_shift_ideo_to_prag == 0) %>% nrow() no_change ``` ```{r regression table main} model0 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + gwf_casename + year, data = data1960) #summary(model0) model1 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + gwf_casename + year, data = data1960) #summary(model1) model2 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + gwf_casename + year, data = data1960) #summary(model2) model3 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + gwf_casename + year, data = data1960) #summary(model3) model4 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + naturaldeath + gwf_casename + year, data = data1960) #summary(model4) model5 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data1960) #summary(model5) stargazer( model0, model1, model2, model3, model4, model5, title="Results", align=TRUE, type = 'text', omit = c('gwf_casename', 'year', 'Constant'), add.lines = list( c('Regime Fixed effects', '✓', '✓', '✓', '✓', '✓', '✓'), c('Year Fixed effects', '✓', '✓', '✓', '✓', '✓', '✓') ), column.labels = c( "Model 1", "Model 2", "Model 3", "Model 4", "Model 5", "Model6" ), dep.var.labels=c("Shift from Ideological to Pragmatic Legitimation"), order = c("netdependence_diff", "gdppc_diff", "int_conflict", "election_yes_or_no", "v2cagenmob", "naturaldeath", "leaderchange"), covariate.labels=c("Δ Net Dependence", "Δ GDP per capita", "Interstate/Internationalized Conflict", "Election-Year", "Mass Mobilization", "Natural Death of Leader", "Leadership Change"), single.row=TRUE, out = "MODELS.htm", omit.stat = c("ser", "f"), out.header = FALSE ) #resettest(model5, power = 2) #durbinWatsonTest(model5) ``` ```{r robustness checks} FBIC_robustness_data <- read.csv("FBIC_robustness_data.csv") dependence_alt_specifications <- FBIC_robustness_data %>% group_by(countryb, year) %>% dplyr::summarise( economicdependence_sum = sum(economicdependence), securitydependence_sum = sum(securitydependence), dependence_nonnorm_sum = sum(dependence_nonnorm), dependence_xonworld = sum(dependence) ) %>% ungroup() dependence_alt_specifications <- dependence_alt_specifications %>% dplyr::mutate(countryb = ifelse(countryb %in% names(country_replacements_FBIC), country_replacements_FBIC[countryb], countryb)) merged_for_robustness <- left_join(data1960, dependence_alt_specifications, by = c("gwf_country" = "countryb", "year")) merged_for_robustness <- merged_for_robustness %>% dplyr::mutate(economicdependence_diff = economicdependence_sum - lag(economicdependence_sum), securitydependence_diff = securitydependence_sum - lag(securitydependence_sum), dependence_nonnorm_diff = dependence_nonnorm_sum - lag(dependence_nonnorm_sum), dependence_xonworld_diff = dependence_xonworld.y - lag(dependence_xonworld.y)) #write.csv(merged_for_robustness, "dependence_alt_specifications.csv", row.names = FALSE) ##### changing the IV //// splitting it into its components model8 <- lm(normalized_extent ~ dependence_xonworld.y + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = merged_for_robustness) #summary(model8) model9 <- lm(normalized_extent ~ economicdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = merged_for_robustness) model10 <- lm(normalized_extent ~ securitydependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = merged_for_robustness) #### splitting the DV model12 <- lm(legitideol_diff ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data1960) model13 <- lm(pragmatic_diff ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data1960) stargazer(model8, model9, model10, model12, model13, title="Robustness Checks", align=TRUE, type = 'text', omit = c('gwf_casename', 'year'), add.lines = list( c('Regime + Year FE', '✓', '✓', '✓', '✓', '✓')), column.labels = c( "Model 7", "Model 8", "Model 9", "Model 10", "Model 11" ), dep.var.labels=c("Shift from Ideological to Pragmatic Legitimation", "Δ Ideological Legitimation", "Δ Pragmatic Legitimation"), order = c("netdependence_diff", "dependence_xonworld.y","economicdependence_diff", "securitydependence_diff", "gdppc_diff", "int_conflict", "election_yes_or_no", "v2cagenmob", "leaderchange"), covariate.labels=c("Δ Net Dependence", "Δ Dependence", "Δ Economic Dependence", "Δ Security Dependence", "Δ GDP per capita", "Interstate/Internationalized Conflict", "Elections", "Mass Mobilization", "Leadership Change"), single.row=TRUE, out = "MODELS_robust.htm", omit.stat = c("ser", "f"), out.header = FALSE ) ``` ```{r robustness checks splitting the sample} ##### splitting the sample to Sub–Saharan Africa data_SSA <- data1960 %>% dplyr::filter(e_regionpol == 4) model13 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data_SSA) #summary(model13) ### MENA data_MENA <- data1960 %>% dplyr::filter(e_regionpol == 3) model14 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data_MENA) #summary(model14) ### South East Asia data_SEA <- data1960 %>% dplyr::filter(e_regionpol == 7) model15 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data_SEA) #summary(model15) ### Eastern Europe data_EE <- data1960 %>% dplyr::filter(e_regionpol == 1) model16 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data_EE) #summary(model16) ### LatAm data_LatAm <- data1960 %>% dplyr::filter(e_regionpol == 2) model17 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data_LatAm) #summary(model17) ### East Asia data_EA <- data1960 %>% dplyr::filter(e_regionpol == 6) model18 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data_EA) #summary(model18) ### Southern Asia data_SA <- data1960 %>% dplyr::filter(e_regionpol == 8) model19 <- lm(normalized_extent ~ netdependence_diff + gdppc_diff + int_conflict + election_yes_or_no + v2cagenmob + leaderchange + gwf_casename + year, data = data_SA) #summary(model19) stargazer(model13, model14, model15, model16, model17, model18, model19, title="Regression Results for Different Regions", align=TRUE, type = 'text', omit = c('gwf_casename', 'year'), add.lines = list( c('Regime + Year FE', '✓', '✓', '✓', '✓', '✓', '✓', '✓')), column.labels = c("Sub-Saharan Africa", "MENA", "South East Asia", "Eastern Europe", "Latin America", "East Asia", "Southern Asia"), dep.var.labels=c("Shift from Ideological to Pragmatic Legitimation"), order = c("netdependence_diff", "gdppc_diff", "int_conflict", "election_yes_or_no", "v2cagenmob", "naturaldeath", "leaderchange"), covariate.labels=c("Δ Net Dependence", "Δ GDP per capita", "Interstate/Internationalized Conflict", "Election-Year", "Mass Mobilization", "Natural Death of Leader", "Leadership Change"), single.row=TRUE, out = "MODELS_regions.htm", omit.stat = c("ser", "f"), out.header = FALSE ) ``` ```{r legitimation descriptive graphs: SEPARATE} ###CHINA china_gwf_fail_years <- data1960 %>% dplyr::filter(gwf_fail == 1, cowcode == 710) %>% distinct(year) %>% pull() china_leaderchange_years <- data1960 %>% dplyr::filter(leaderchange == 1, cowcode == 710) %>% distinct(year) %>% pull() china_years_list <- list(china_gwf_fail_years = china_gwf_fail_years, china_leaderchange_years = china_leaderchange_years) china_years_list china1 <- ggplot(data1960 %>% dplyr::filter(cowcode == 710, year > 1959 & year < 2011) %>% dplyr::select(cowcode, gwf_country, year, v2exl_legitlead, v2exl_legitperf, v2exl_legitratio, v2exl_legitideol, gwf_fail, leaderchange) %>% pivot_longer(-c(cowcode, gwf_country, year, gwf_fail, leaderchange), names_to = "variable", values_to = "value"), aes(x = year, y = value, color = variable)) + geom_line() + geom_vline(xintercept = c(1976, 1980, 1997, 2003), linetype = "dashed") + # Adding vertical lines labs(title = "China", x = "Year", y = "Value") + guides(color = FALSE) + scale_color_manual(values = c("v2exl_legitlead" = "purple", "v2exl_legitperf" = "blue", "v2exl_legitratio" = "red", "v2exl_legitideol" = "green"), labels = c("v2exl_legitlead" = "Person of the Leader", "v2exl_legitperf" = "Performance Legitimacy", "v2exl_legitratio" = "Rational Legal Legitimation", "v2exl_legitideol" = "Ideological Legitimacy")) + theme_minimal() + theme(plot.title = element_text(hjust = 0.5)) china1 ###RUSSIA russia_gwf_fail_years <- data1960 %>% dplyr::filter(gwf_fail == 1, cowcode == 365) %>% distinct(year) %>% pull() russia_leaderchange_years <- data1960 %>% dplyr::filter(leaderchange == 1, cowcode == 365) %>% distinct(year) %>% pull() list(russia_gwf_fail_years = russia_gwf_fail_years, russia_leaderchange_years = russia_leaderchange_years) russia1 <- ggplot(data1960 %>% dplyr::filter(cowcode == 365, year > 1959 & year < 2011) %>% dplyr::select(cowcode, gwf_country, year, v2exl_legitlead, v2exl_legitperf, v2exl_legitratio, v2exl_legitideol, gwf_fail, leaderchange) %>% pivot_longer(-c(cowcode, gwf_country, year, gwf_fail, leaderchange), names_to = "variable", values_to = "value"), aes(x = year, y = value, color = variable)) + geom_line() + geom_vline(xintercept = c(1964, 1982, 1984, 1985, 1991, 1999), linetype = "dashed") + labs(title = "Russia", x = "Year", y = "Value") + guides(color = FALSE) + scale_color_manual(values = c("v2exl_legitlead" = "purple", "v2exl_legitperf" = "blue", "v2exl_legitratio" = "red", "v2exl_legitideol" = "green"), labels = c("v2exl_legitlead" = "Person of the Leader", "v2exl_legitperf" = "Performance Legitimacy", "v2exl_legitratio" = "Rational Legal Legitimation", "v2exl_legitideol" = "Ideological Legitimacy")) + theme_minimal()+ theme(plot.title = element_text(hjust = 0.5)) russia1 ###UAE uae_gwf_fail_years <- data1960 %>% dplyr::filter(gwf_fail == 1, cowcode == 696) %>% distinct(year) %>% pull() uae_leaderchange_years <- data1960 %>% dplyr::filter(leaderchange == 1, cowcode == 696) %>% distinct(year) %>% pull() list(uae_gwf_fail_years = uae_gwf_fail_years, uae_leaderchange_years = uae_leaderchange_years) uae1 <- ggplot(data1960 %>% dplyr::filter(cowcode == 696, year > 1959 & year < 2011) %>% dplyr::select(cowcode, gwf_country, year, v2exl_legitlead, v2exl_legitperf, v2exl_legitratio, v2exl_legitideol, gwf_fail, leaderchange) %>% pivot_longer(-c(cowcode, gwf_country, year, gwf_fail, leaderchange), names_to = "variable", values_to = "value"), aes(x = year, y = value, color = variable)) + geom_line() + geom_vline(xintercept = c(2004), linetype = "dashed") + labs(title = "UAE", x = "Year", y = "Value", color = "Variable") + guides(color = FALSE) + scale_color_manual(values = c("v2exl_legitlead" = "purple", "v2exl_legitperf" = "blue", "v2exl_legitratio" = "red", "v2exl_legitideol" = "green"), labels = c("v2exl_legitlead" = "Person of the Leader", "v2exl_legitperf" = "Performance Legitimacy", "v2exl_legitratio" = "Rational Legal Legitimation", "v2exl_legitideol" = "Ideological Legitimacy")) + theme_minimal() + theme(plot.title = element_text(hjust = 0.5)) uae1 ``` ```{r FINAL COMBINED graph} combined_data <- data1960 %>% dplyr::filter(cowcode %in% c(702, 710, 775, 811, 812, 373, 439, 461, 483, 500, 510, 541, 625, 696, 135)) %>% dplyr::select(cowcode, gwf_country, year, v2exl_legitlead, v2exl_legitperf, v2exl_legitratio, v2exl_legitideol, gwf_fail, leaderchange) %>% pivot_longer(-c(cowcode, gwf_country, year, gwf_fail, leaderchange), names_to = "variable", values_to = "value") %>% dplyr::mutate(gwf_country = ifelse(gwf_country == "United Arab Emirates", "UAE", gwf_country)) #combined_plot <- ggplot(combined_data, aes(x = year, y = value, color = variable)) + # geom_line(size = 1) + #geom_vline(data = combined_data %>% filter(leaderchange == 1), # aes(xintercept = year), # linetype = "solid", # Change linetype to solid # color = "grey30", # size = 0.4) + labs(title = "Legitimation Types Over Time", # x = "\nAuthoritarian Year", # y = "Legitimation Score", # color = "Legitimation Type") + # scale_x_continuous(breaks = pretty_breaks(n = 3)) + # scale_color_manual(values = c("v2exl_legitperf" = "#1f77b4", # "v2exl_legitratio" = "#ff7f0e", # "v2exl_legitideol" = "#2ca02c", # "v2exl_legitlead" = "#d62728"), # labels = c("v2exl_legitperf" = "Performance", # "v2exl_legitratio" = "Rational/Legal", # "v2exl_legitideol" = "Ideology", # "v2exl_legitlead" = "Person of the Leader")) + # theme_minimal(base_size = 12) + # theme(plot.title = element_text(hjust = 0.5, size = 14, face = "bold"), # axis.title = element_text(size = 11, face = "italic"), # axis.text = element_text(size = 10), # axis.text.x = element_text(size = 8), # legend.position = "bottom", # legend.box = "horizontal", # legend.title = element_text(size = 10, face = "bold"), # legend.text = element_text(size = 10), # panel.grid.major = element_line(color = "grey90"), # panel.grid.minor = element_blank(), # panel.background = element_rect(fill = "grey98", color = NA), # strip.background = element_rect(fill = "grey90", color = "grey50"), # strip.text = element_text(size = 10, face = "bold")) + # guides(color = guide_legend(title.position = "top", title.hjust = 0.5)) + # facet_wrap(~ gwf_country, scales = "free_y", ncol = 5) combined_plot <- ggplot(combined_data, aes(x = year, y = value, color = variable)) + geom_line(linewidth = 1) + geom_vline(data = combined_data %>% filter(leaderchange == 1), aes(xintercept = year, linetype = 'Leadership Change'), colour = 'grey30', size = 0.5) + labs(title = "Legitimation Types Over Time", x = " Authoritarian Year", y = "Legitimation Score", color = "Legitimation Type", linetype = "") + scale_x_continuous(breaks = pretty_breaks(n = 3)) + scale_y_continuous(breaks = pretty_breaks(n = 3)) + scale_color_manual(values = c("v2exl_legitperf" = "#1f77b4", "v2exl_legitratio" = "#ff7f0e", "v2exl_legitideol" = "#2ca02c", "v2exl_legitlead" = "#d62728"), labels = c("v2exl_legitperf" = "Performance", "v2exl_legitratio" = "Rational/Legal", "v2exl_legitideol" = "Ideology", "v2exl_legitlead" = "Person of the Leader")) + scale_linetype_manual(name = '', values = 'solid', breaks = c("Leadership Change"), labels = c(expression(bold("Leadership Change")))) + theme_minimal(base_family = "Times New Roman", base_size = 12) + theme(plot.title = element_text(hjust = 0.5, size = 13, face = "bold", family = "Times New Roman"), axis.title = element_text(size = 8, face = "italic", margin = margin(t = -0.2, r = 0, b = 0, l = -10), family = "Times New Roman"), legend.position = "bottom", legend.box = "vertical", legend.title = element_text(size = 8.5, face = "bold", family = "Times New Roman"), legend.text = element_text(size = 8.5, family = "Times New Roman"), legend.spacing.x = unit(0.2, "cm"), legend.margin = margin(t = 0, r = 0, b = 0, l = 0), panel.grid.major = element_line(color = "grey90"), panel.grid.minor = element_blank(), panel.background = element_rect(fill = "grey98", color = NA), strip.background = element_rect(fill = "grey90", color = "grey50"), strip.text = element_text(size = 10, face = "bold", family = "Times New Roman"), plot.background = element_rect(fill = "white")) + guides(color = guide_legend(title.position = "top", title.hjust = 0.55), linetype = guide_legend(title.position = "top", title.vjust = 0.5)) + facet_wrap(~ gwf_country, scales = "free_y", ncol = 5) combined_plot <- combined_plot + theme(legend.spacing.y = unit(-0.4, "cm")) combined_plot #ggsave("combined_plot.png", plot = combined_plot, width = 10, height = 6, units = "in") ``` ```{r appendix} ###### cases distinct_values <- distinct(data1960, gwf_casename) %>% rename("GWF Authoritarian Regimes" = gwf_casename) #write.csv(distinct_values, file = "distinct_values.csv") colnames(data1960) ###### descriptives variables_for_desc <- c("v2exl_legitperf", "v2exl_legitratio", "v2exl_legitideol", "gdppc") count_NAs <- function(x) { sum(is.na(x)) } desc <- function(x) { c(min = round(min(x, na.rm = TRUE), 2), max = round(max(x, na.rm = TRUE), 2), median = round(median(x, na.rm = TRUE), 2), mean = round(mean(x, na.rm = TRUE), 2), NAs = count_NAs(x)) } data1960_desc <- as.data.frame(data1960) desc_table <- sapply(data1960_desc[variables_for_desc], desc) desc_table <- as.data.frame(t(desc_table)) #write.csv(desc_table, file = "descriptive_statistics.csv") desc_table ``` ```{r conclusion graph} data_conc <- data.frame( x = c(-0.04, 0.25, -1, -1.2, 1, 1.4, 1.6), y = c(0.9, 1.35, 2, 1, 1.9, -0.9, -1.6), label = c("Economic Growth", "Election-Year", "↑ Dependence", "↑ Crime?", "↑ Regional Instability?", "↑ Inequality?", "↓ State Capacity?"), color = c("Economic Growth", "Election Year", "Increasing Dependence", "Increasing Crime?", "Increased Regional Instability?", "Increasing Inequality?", "Decreasing State Capacity?") ) color_blind_palette <- c("Economic Growth" = "#0072B2", "Election Year" = "#56B4E9", "Increasing Dependence" = "#009E73", "Increasing Crime?" = "#984ea3", "Increased Regional Instability?" = "#E69F00", "Increasing Inequality?" = "#D55E00", "Decreasing State Capacity?" = "#CC79A7") p <- ggplot(data_conc, aes(x = x, y = y, label = label, color = color)) + geom_point(size = 3) + geom_text(hjust = 0.5, vjust = -1, size = 3, nudge_y = 0.02, fontface = "bold", family = "Times New Roman") + scale_color_manual(values = color_blind_palette) + geom_segment(aes(x = -1.3, xend = 2, y = 0, yend = 0), arrow = arrow(length = unit(0.3, "cm")), color = "black") + geom_segment(aes(x = 0, xend = 0, y = -2.2, yend = 3), arrow = arrow(length = unit(0.3, "cm")), color = "black") + labs(x = "Δ Ideological\nLegitimation", y = "Δ Pragmatic\nLegitimation") + theme_minimal() + theme( axis.title.x = element_text(size = 8, margin = margin(t = 10), face = "bold", family = "Times New Roman"), axis.title.y = element_text(size = 8, margin = margin(r = 10), face = "bold", family = "Times New Roman"), axis.text = element_text(size = 5, face = "bold", family = "Times New Roman"), legend.position = "none", plot.margin = margin(1,1,1,1, "cm"), panel.grid = element_blank(), axis.text.x = element_blank(), axis.text.y = element_blank() ) p + theme( axis.title.x = element_text(hjust = 0.9, vjust = 81, family = "Times New Roman"), axis.title.y = element_text(hjust = 0.92, vjust = -107, family = "Times New Roman") ) ```