Examining Global Refugee Trends and Correlations Over the Years

INFO 526 - Project 1

Analyzing the Effects of External Circumstances on Refugee Movements Between 2010 and 2022
Author
Affiliation

Datatude Dynamos

School of Information, University of Arizona

Abstract

Using the rich dataset offered by the {refugees} R package, this project sets out on an adventurous trip across the complicated landscape of worldwide migration from 2010 to 2022. It offers a comprehensive picture of the numerous factors influencing the lives of refugees, internally displaced people (IDPs), asylum seekers, stateless people, and more, spanning over 64,000 entries from sources like UNHCR, UNRWA, and IDMC. This research tries to unravel the complex web of variables driving forced migration, from socioeconomic turbulence to environmental calamities and geopolitical upheavals, via thorough investigation.

Two key topics form the core of our investigation: how changing political ideologies in the US affect refugee trends, and how changes in external occurrences such as pandemics, conflicts, and climate change affect refugee numbers globally. Using time-series analysis and additional statistical techniques, we examine displacement patterns and correlate them with major political changes and global crises in order to identify underlying trends and causal relationships.

Introduction

This project analyses more than 64,000 data from the {refugees} R package, covering the period from 2010 to 2022, in order to investigate the intricate dynamics of worldwide displacement. The dataset provides a detailed look at the lives of refugees, internally displaced people (IDPs), asylum seekers, and stateless people, among others. It is derived from UNHCR, UNRWA, and IDMC and sheds light on the complex dynamics of forced migration. The goal is to identify the complex interactions that exist between outside variables and their impacts on patterns of global displacement, including geopolitical conflicts, natural disasters, and sociopolitical upheavals.

The impact of US political positions on refugee trends and the general changes in worldwide refugee populations as a result of external factors like wars, climatic shifts, and health crises like the COVID-19 pandemic are central to our research. We want to analyse the complex relationship between major world events and displacement trends using time-series analysis and statistical evaluations.

Question 1: How have the patterns in refugee populations evolved over time, and how have the stances of American political parties impacted these developments? Analyse the dynamics of refugee migrations towards US political environments.

Introduction

Our project’s first inquiry explores the complex interplay between international refugee movements and political processes in the United States. We seek to understand how changes in political party ideologies and governmental positions inside the United States may have affected patterns of refugee populations, paying particular attention to historical data from 2000 to 2024. This investigation is based on the theory that political discourse and policy choices coming from the United States can significantly impact worldwide displacement patterns, either by reshaping the geopolitical environment or by changing the country’s own refugee accepting policies.

Approach

We have adopted a multimodal analytic approach to this subject, combining a comparative assessment of political epochs in the United States with time-series analysis. For clarity and scalability in our visual representations, we first aggregate the overall number of refugees by year, normalizing the data to thousands. We can create a chronological narrative of refugee migrations by layering important political events and changes in the United States over these trends thanks to this basic data. We produce visual aids, such as bar plots and trend lines, using ggplot2 to clarify the relationship between refugee populations and changes in U.S. politics. Our research is further enhanced by the addition of data from returning refugees, which provides insights into the cyclical nature of displacement and resettlement.

Data Preparation and Pre-processing

The preparation stage of the data is essential to transforming our data-set into a format that allows for effective analysis. Using the R dplyr package, we first aggregate our data by year before summarizing the overall number of refugees—making sure to divide these totals into thousands for easier comprehension. This procedure is also applied to data pertaining to refugees who have returned, yielding a parallel dataset that illustrates the flow of return movements in addition to original displacements. We also prepare by making the ‘year’ a numeric variable so that we can use it as an axis in both our static and animated visualization. The careful processing of the data paves the way for an in-depth investigation of the relationship between U.S. political positions and international refugee trends.

Show the code
# Data Preparation - Aggregate total number of refugees by year and convert to thousands (K)
total_refugee_trends <- population_data %>%
  group_by(year) %>%
  summarise(total_refugees = sum(refugees, 
                                 na.rm = TRUE) / 1000)  # Convert to thousands

Analysis 01: Refugee populations over time.

Show the code
# Plot: Total Refugee populations over time with bar plot and trend line, y-axis in 'K'
plot_total_refugees <- ggplot(total_refugee_trends, 
                              aes(x = year, 
                                  y = total_refugees)) +
  geom_bar(stat = "identity", 
           fill = "skyblue", 
           alpha = 0.7) +  
  geom_smooth(method = "lm", 
              formula = y ~ poly(x, 2), 
              color = "#FF5230", 
              se = FALSE) +  
  labs(title = "Total Refugee Populations Over Time", 
       x = "Year", 
       y = "Number of Refugees (in K)") +
   theme_minimal(base_size = 14) + 
  theme(axis.text = element_text(color = "black"),  
        plot.title = element_text(size = 16, 
                                  face = "bold"),  
        axis.title = element_text(size = 14)) +  
  scale_x_continuous(breaks = seq(from = min(total_refugee_trends$year), 
                                  to = 2024, 
                                  by = 1)) +  
  scale_y_continuous(labels = scales::comma)  


# Data Preparation - Aggregate total number of returned refugees by year and convert to thousands (K)
returned_refugee_trends <- population_data %>%
  group_by(year) %>%
  summarise(returned_refugees = sum(returned_refugees, 
                                    na.rm = TRUE) / 1000) 

# Plot: Returned Refugee populations over time with bar plot and trend line, y-axis in 'K'
plot2 <- ggplot(returned_refugee_trends, 
                aes(x = year, 
                    y = returned_refugees)) +
  geom_bar(stat = "identity", 
           fill = "skyblue", 
           alpha = 0.7) +  
  geom_smooth(method = "lm", 
              formula = y ~ poly(x, 2), 
              color = "#FF5230", 
              se = FALSE) +  
  labs(title = "Returned Refugee Populations Over Time", 
       x = "Year", 
       y = "Number of Returned Refugees (in K)") +
  theme_minimal(base_size = 14) + 
  theme(axis.text = element_text(color = "black"),  
        plot.title = element_text(size = 16, 
                                  face = "bold"),  
        axis.title = element_text(size = 14)) +  
  scale_x_continuous(breaks = seq(from = min(returned_refugee_trends$year), 
                                  to = 2024, 
                                  by = 1)) +
  scale_y_continuous(labels = scales::comma) 

The graphic illustrates the changes in overall refugee populations over time using a bar graph that shows annual fluctuations. It also includes a trend line that indicates a quadratic growth pattern.

A. Expeditious growth of the refugee population over time

Plot 01 clearly demonstrates the rapid expansion of the refugee population over time. The utilization of sky-blue bars in conjunction with an orange trend line aptly accentuates the fluctuations in refugee figures from the early 2010s to 2022. The y-axis, which represents the number of refugees in thousands, is displayed with comma separators for enhanced Expeditious growth of the refugee population over time clarity.

B. A small number of refugees have returned over a period of time

Conversely, Plot 02 demonstrates that a limited number of refugees have repatriated throughout a specific duration. This graph is an effective tool for illustrating the dynamic nature of refugee populations, highlighting the rising trend and the urgent requirement for global attention and action in response to refugee crises.

Analysis 02: Refugees by year and country of origin

Show the code
# Aggregate total number of refugees by year and country of origin
refugee_country_trends <- population_data %>%
  group_by(year, 
           coo_name) %>%
  summarise(total_refugees = sum(refugees, 
                                 na.rm = TRUE)) %>%
  ungroup()

# Identify the top 10 countries with the highest total number of refugees
top_countries <- refugee_country_trends %>%
  group_by(coo_name) %>%
  summarise(total_refugees = sum(total_refugees, 
                                 na.rm = TRUE)) %>%
  top_n(10, 
        total_refugees) %>%
  pull(coo_name)

# Filter the data to include only top 10 countries
top_country_data <- refugee_country_trends %>%
  filter(coo_name %in% top_countries)

# Select one of the top countries for demonstration
selected_country_data <- filter(top_country_data, 
                                coo_name == top_countries[1])

# Histogram: Distribution of refugee counts for a selected top country
top_country_total_refugees <- refugee_country_trends %>%
  filter(coo_name %in% top_countries) %>%
  group_by(coo_name) %>%
  summarise(total_refugees = sum(total_refugees, 
                                 na.rm = TRUE)) %>%
  ungroup() %>%
  arrange(desc(total_refugees)) 

# Plot: Total number of refugees from top 10 countries
plot_top_countries <- ggplot(top_country_total_refugees, 
                             aes(x = reorder(coo_name, 
                                             total_refugees), 
                                 y = total_refugees)) +
  geom_bar(stat = "identity", fill = "purple") +  
  labs(title = "Total Number of Refugees from Top 10 Countries",
       x = "Country of Origin", 
       y = "Total Number of Refugees") +
  theme_minimal(base_size = 14) + 
  theme(axis.text = element_text(color = "black"),  
        plot.title = element_text(size = 16, 
                                  face = "bold"),  
        axis.title = element_text(size = 14)) +  
  coord_flip() + 
  scale_y_continuous(labels = scales::comma)  

# Adding US political context

# Aggregate total number of asylum seekers by year and country of asylum
asylum_country_trends <- population_data %>%
  group_by(year, coa_name) %>%
  summarise(total_asylum_seekers = sum(asylum_seekers,
                                       na.rm = TRUE)) %>%
  ungroup()

# Identify the top 10 countries with the highest total number of asylum seekers
top_asylum_countries <- asylum_country_trends %>%
  group_by(coa_name) %>%
  summarise(total_asylum_seekers = sum(total_asylum_seekers, 
                                       na.rm = TRUE)) %>%
  top_n(10, total_asylum_seekers) %>%
  pull(coa_name)

# Filter the data to include only top 10 countries of asylum
top_asylum_country_data <- asylum_country_trends %>%
  filter(coa_name %in% top_asylum_countries)

# Aggregate the total number of asylum seekers for each of the top 20 countries across all years
top_country_total_asylum_seekers <- top_asylum_country_data %>%
  group_by(coa_name) %>%
  summarise(total_asylum_seekers = sum(total_asylum_seekers,
                                       na.rm = TRUE)) %>%
  ungroup() %>%
  arrange(desc(total_asylum_seekers))  

# Plot: Total number of asylum seekers from top 10 countries
plot_top_asylum_countries <- ggplot(top_country_total_asylum_seekers, 
                                    aes(x = reorder(coa_name, 
                                    total_asylum_seekers), 
                                    y = total_asylum_seekers)) +
  geom_bar(stat = "identity", fill = "blue") +  
  labs(title = "Total Number of Asylum Seekers from Top 10 Countries", 
       x = "Country of Asylum", 
       y = "Total Number of Asylum Seekers") +
   theme_minimal(base_size = 10) + 
  theme(axis.text = element_text(color = "black"),  
        plot.title = element_text(size = 16, 
                                  face = "bold"),  
        axis.title = element_text(size = 10)) +  
  coord_flip() +  
  scale_y_continuous(labels = scales::comma)  

This figure displays the aggregate number of refugees originating from the top 20 nations. The bar chart depicts various countries, with each bar uniformly shaded in purple. The y-axis represents the arrangement of countries, while the x-axis represents the overall number of refugees. The bars are arranged in a manner that emphasizes the nations with the greatest number of refugees, facilitating the identification of the countries with the highest refugee populations. This type of representation facilitates a rapid comprehension of the worldwide refugee issue by illustrating the nations that are most impacted.

A. Total Number of Refugees from Top 10 Countries

B. Total number of asylum seekers from top 10 countries

Analysis 03: Refugee populations over time with US political context

Show the code
library(tidyverse)
library(dplyr)
library(gganimate)
library(gifski)
library(OpenImageR)
library(magick)
population <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-08-22/population.csv', 
show_col_types = FALSE)

party <- function(year){
  if (year >= 2008 && year <= 2012){
    return("Democratic Party")
  }else if (year > 2012 && year < 2016){
    return("Democratic Party")
  }else if (year >= 2016 && year < 2020){
    return("Republican Party")
  }else if (year >= 2020 && year <= 2022){
    return("Democratic Party")
  }else{
    return(NA)
  }
}

population$Ruling_party <- sapply(population$year, 
                                  party)

data1 <- population |>
  filter(coa_name == "United States of America") |>
  group_by(year, 
           Ruling_party) |>
  summarise(total_refugees = sum(refugees, 
                                 na.rm = TRUE))

# Creating the line plot

plot <- ggplot(data = data1, 
               aes(x = year, 
                   y = total_refugees, 
                   color = Ruling_party)) +
  
  geom_line(aes(x = year, 
                y = total_refugees, 
                group = 2, 
                colour = Ruling_party)) +
  
  scale_color_manual(name = "Party",
                     values = c("Democratic Party" = "Blue", 
                                "Republican Party" = "Red"))+
  
  scale_x_continuous(breaks = seq(2010, 
                                  2022, 
                                  by = 2)) +
  
  labs(
    title = "Refugees population over time in United States",
    x = "Year",
    y = "Total Refugees"
  ) +
  
  theme_minimal() 
#plot

This graph displays the temporal evolution of the refugee population in the United States, with different colors representing the governing political party. The blue lines indicate the years when the Democratic Party held power, while the red lines show the periods of Republican Party leadership. The graph illustrates the refugee population from 2010 to 2022, with the x-axis representing the years and the y-axis indicating the cumulative number of refugees. The analysis examines the fluctuations in the refugee population during various administrations, emphasizing the potential influence of political leadership on refugee admissions. The unambiguous and simplistic style facilitates viewers’ comprehension of patterns in U.S. refugee admissions throughout the selected years.

Discussion

The analysis reveals a nuanced relationship between US political leadership and refugee admissions, with discernible shifts aligning with changes in the ruling party. The fluctuating trends in refugee populations and asylum seeker data underscore the significant impact of political ideologies and policies on global displacement and migration patterns. Moreover, the cyclical nature of refugee returns and the concentration of refugees from specific countries highlight the complex interplay between global crises and US political responses.

Question 2: How the global refugee population fluctuate across the countries? Is their any external factors impact on refugee population like COVID-19 or war or climate change or financial stability?

Introduction

Understanding global refugee patterns is crucial for addressing humanitarian challenges and devising effective policy responses. In this analysis, we aim to explore the dynamics of refugee movements across nations over time, focusing on key variables such as 'year', 'coo_name', 'coa_name', and 'refugees' data. By examining annual refugee data normalized against population statistics, we seek to uncover trends and link them to significant world events, including conflicts, climate disasters, and economic changes.

Approach

Our approach involves gathering comprehensive data from various sources and applying time-series techniques to analyze refugee patterns. We utilize datasets from international organizations and government agencies, supplemented by demographic and socio-economic indicators. Through statistical analysis and data visualization using tools like ggplot2, we aim to discern patterns in refugee movements and understand the influence of external factors such as wars, climate disasters, and economic stability

Glimpse of process Function
processRefugees <- function (dataset, unique_countries) {
  filtered_data <- dataset |>
    # filtering only country name, year and refugees columns
    select(coo_name, year, 
           refugees) |>
    bind_rows(
      anti_join(unique_countries, dataset, by = c("region" = "coo_name")) |>
        # adding year and number of refugees for that specific year as NA
        mutate(year = as.integer(dataset[1, 
                                         "year"]), 
               refugees = NA)
    ) |>
    
    mutate(
      coo_name = case_when(
        coo_name == "United States of America" ~ "USA",
        coo_name == "United Kingdom of Great Britain and Northern Ireland" ~ "UK",
        coo_name == "Iran (Islamic Rep. of)" ~ "Iran",
        coo_name == "Palestinian" ~ "Palestine",
        coo_name == "Serbia and Kosovo: S/RES/1244 (1999)" ~ "Serbia",
        coo_name == "Türkiye" ~ "Turkey",
        coo_name == "Congo" ~ "Congo",
        coo_name == "Dem. Rep. of the Congo" ~ "Democratic Republic of the Congo",
        coo_name == "Cote d'Ivoire" ~ "Ivory Coast",
        coo_name == "Central African Rep." ~ "Central African Republic",
        coo_name == "United Rep. of Tanzania" ~ "Tanzania",
        coo_name == "Russian Federation" ~ "Russia",
        coo_name == "Syrian Arab Rep." ~ "Syria",
        coo_name == "Bolivia (Plurinational State of)" ~ "Bolivia",
        coo_name == "Dominican Rep." ~ "Dominican Republic",
        coo_name == "Venezuela (Bolivarian Republic of)" ~ "Venezuela",
        coo_name == "Czechia" ~ "Czech Republic",
        coo_name == "Rep. of Korea" ~ "South Korea",
        coo_name == "Dem. People's Rep. of Korea" ~ "North Korea",
        coo_name == "Lao People's Dem. Rep." ~ "Laos",
        coo_name == "Viet Nam" ~ "Vietnam",
        coo_name == "China, Hong Kong SAR" ~ "Hong Kong",
        coo_name == "Netherlands (Kingdom of the)" ~ "Netherlands",
        coo_name == "Cabo Verde" ~ "Cape Verde",
        coo_name == "China, Macao SAR" ~ "Macao",
        coo_name == "Holy See" ~ "Vatican City",
        TRUE ~ coo_name
      )
    ) |>
    # creating a categorical variable refugee_m to group countries based on their number of refugee's 
  mutate(
    refugees_m = case_when(
      refugees < 100 ~ "<100",
      refugees >= 100 & refugees < 500 ~ "100 to 500",
      refugees >= 500 & refugees < 1000 ~ "500 to 1000",
      refugees >= 1000 & refugees < 2000 ~ "1k to 2k",
      refugees >= 2000 & refugees < 3000 ~ "2k to 3k",
      refugees >= 3000 & refugees < 4000 ~ "3k to 4k",
      refugees >= 4000 & refugees < 5000 ~ "4k to 5k",
      refugees >= 5000 & refugees < 7000 ~ "5k to 7k",
      refugees >= 7000 & refugees < 10000 ~ "7k to 10k",
      refugees >= 10000 & refugees < 20000 ~ "10k to 20k",
      refugees >= 20000 & refugees < 50000 ~ "20k to 50k",
      refugees >= 50000 & refugees < 100000 ~ "50k to 100k",
      refugees >= 100000 ~ "100k+",
      is.na(refugees)  ~ "NA"
    )
  ) %>%
  mutate(
    refugees_m = factor(refugees_m, 
                        levels = c("<100", 
                                   "100 to 500", 
                                   "1k to 2k",
                                   "2k to 3k",
                                   "3k to 4k",
                                   "4k to 5k",
                                   "5k to 7k",
                                   "7k to 10k",
                                   "10k to 20k",
                                   "20k to 50k",
                                   "50k to 100k",
                                   "100k+",
                                   "NA"))
                                    )

  return(filtered_data)
}
Function used to generate the plot
# Assuming filtered_data is a list of data frames for each year
filtered_data <- lapply(filtered_data, 
                        function(df) {
  df %>%
    filter(!is.na(coo_name))
})


generateRefugeePlot <- function(year) {
  
  world_plot <- ggplot(filtered_data[[as.character(year)]], 
                       aes(map_id = coo_name)) +
    geom_map(
      aes(fill = refugees_m),
      map   = world,
      color = "#B2BEB5",
      linewidth = 0.25,
      linetype  = "blank"
    ) +
    expand_limits(x = world$long, 
                  y = world$lat) +
    scale_fill_manual(values = color_mapping, 
                      na.value = "#F2F3F4") +
    coord_fixed(ratio = 1) +
    labs(
      title = paste("Number of Refugees by Country in", 
                    year),
      subtitle = "Migrated to USA",
      caption = "Data source: TidyTuesday",
      fill = "need to specify"
    ) +
    theme_void() +
    theme(
      legend.position = "bottom",
      legend.direction = "horizontal",
      plot.title = element_text(size = 19, 
                                face = "bold", 
                                hjust = 0.5),
      plot.subtitle = element_text(size = 15, 
                                   color = "azure4", 
                                   hjust = 0.5),
      plot.caption = element_text(size = 12, 
                                  color = "azure4", 
                                  hjust = 0.95)
    ) +
    guides(
      fill = guide_legend(
        nrow = 1,
        direction = "horizontal",
        title.position = "top",
        title.hjust = 0.5,
        label.position = "bottom",
        label.hjust = 1,
        label.vjust = 1,
        label.theme = element_text(lineheight = 0.25, 
                                   size = 9),
        keywidth = 1,
        keyheight = 0.5
      )
    )
  return(world_plot)
}
Show the code
generateRefugeeMap <- function(refugee_map_plot, file_path) {
  # Customize the plot appearance
  updated_refugee_plot <- refugee_map_plot +
    theme(
      plot.title = element_text(size = 24),
      plot.subtitle = element_text(size = 18),
      plot.caption = element_text(size = 15),
      legend.key.size = unit(1.5, 
                             "lines"), 
      legend.text = element_text(size = 12), 
      legend.title = element_text(size = 14, 
                                  face = "bold")
    ) +
    guides(fill = guide_legend(title = "Refugee Count"))
  # Save the updated plot as an image file
  ggsave(
    plot = updated_refugee_plot,
    filename = file_path,
    height = 8,
    width = 12, 
    unit = "in",
    dpi = 300 
  )
}

# Example calls to generate and save plots for different years
generateRefugeeMap(plot_2010, "images/refugee_map_2010.jpg")
generateRefugeeMap(plot_2012, "images/refugee_map_2012.jpg")
generateRefugeeMap(plot_2014, "images/refugee_map_2014.jpg")
generateRefugeeMap(plot_2016, "images/refugee_map_2016.jpg")
generateRefugeeMap(plot_2018, "images/refugee_map_2018.jpg")
generateRefugeeMap(plot_2020, "images/refugee_map_2020.jpg")
generateRefugeeMap(plot_2022, "images/refugee_map_2022.jpg")
generateRefugeeMap(plot_2022, "images/refugee_map_2022.jpg")

Analysis 01: War Effect in Year 2010-2016

Early in the decade, migrations might be influenced by the aftermath of the global financial crisis of 2008, conflicts such as the war in Afghanistan or Iraq, or ongoing issues in countries like Somalia and china. This period may show increased migrations from the Middle East, particularly Syria, due to the Syrian Civil War beginning in 2011. Other regions might also exhibit changes due to local conflicts or economic instability.

Analysis 02: Economic / Climate Conditions in Year 2016-2019

The refugee crisis in Europe might influence numbers, with potential spillover effects on US Refugee/asylum applications. Policy changes in the USA regarding immigration during the new administration might also become visible. Continued conflicts and economic issues in various countries could maintain or increased refugee movements.

Analysis 03: World Health Crisis and Policy Change in Year 2019-2022

The COVID-19 pandemic would likely cause a significant drop in migrations worldwide due to travel restrictions and border closures. Post-pandemic recovery may lead to an increase in migrations as countries lift travel bans. The situation in Afghanistan post-US withdrawal could result in an increase in refugees from that region.

Plot-Alpha

While not typically classified as refugees, many Chinese nationals seek to leave China for economic opportunities. The relationship between China and the USA, including U.S. immigration policy, can influence refugee flows. Policies that allow for a greater number of asylum applications or provide specific provisions for individuals from China can result in higher refugee numbers. Additionally, there may be specific legislative acts or policies targeting the protection of certain groups from China, which could lead to an increase in accepted refugee applications.

Discussion

The analysis underscores the intricate relationship between global refugee movements and external factors like conflicts, economic conditions, and climate changes. The varying trends across different periods highlight how events like wars, financial crises, and pandemics significantly shape refugee patterns. This insight is crucial for formulating responsive and informed humanitarian policies to address the complexities of global displacement. ## Challenges faced

  • Data only available from 2010 not before that
  • Animation and frame rate selection.
  • Error in data type and rendering method selection of gif during animation.

Conclusion

We analyse refugee patterns over time across nations by analyzing 'year', 'coo_name', 'coa_name', and 'refugees' data. To acquire a clearer understanding of the repercussions, we will gather annual refugee data by nation and normalize it against population statistics. Time-series techniques will be used in the study to find trends and link them to important world events including wars, climate disasters, and changes in the economy. Our goal is to quantify the influence of these events on displacement by examining refugee trends around them. The context provided by external data, such as conflict histories, records of climate events, economic indicators, and epidemic timelines, will help to create a complete picture of the variables influencing global refugee movements. This analysis of the {refugees} dataset highlights the significant influence of outside factors on patterns of worldwide displacement throughout the last ten years. We have learned how major changes in refugee and displacement patterns have been fueled by geopolitical conflicts, natural disasters, and global crises through thorough investigation. The results emphasize not only how urgent it is to deal with the underlying causes of displacement but also how important it is to have strong, well-informed responses to the intricate problems associated with forced migration. These kinds of data-driven analysis are essential for developing humanitarian actions and policies that effectively address the world’s growing displacement crisis.

References

[1] Title: Refugees, Source: tidytuesday, Link: https://github.com/rfordatascience/tidytuesday/blob/master/data/2023/2023-08-22/readme.md

[2] Analyzed some of the global trends of refugee population from UNHCR - “https://www.unhcr.org/us/global-trends”

[3] Quarto, For documentation and presentation - Quarto

[4] ggplot, For understanding of different plot - ggplot

[5] Our Presentation logo - Link: https://www.vectorstock.com/royalty-free-vector/family-people-and-earth-nature-logo-vector-21169176