The US Geological Survey publishes a list of Strategic Minerals ( https://www.usgs.gov/news/national-news-release/us-geological-survey-releases-2022-list-critical-minerals ). Having a secure supply of these minerals is essential to our security and economic prosperity. However many of these minerals are sourced from outside of the US. This assignment is to develop a reference catalog of the source or sources of each of these minerals and a judgement on the reliability of each source under stressed circumstance (e.g. war, economic crisis, etc.)
Notes:
You will need to identify a source or sources for each of the minerals in the 2022 List of Critical Minerals
You will need to categorize each source country as an ally, a competitor or a neutral party.
You will need to develop data visualizations that tell the story of source dependency and shortfall impact.
This assignment is due at the end of week fourteen of the semester
Critical minerals are essential to the United States’ economic growth, national security, and transition to clean energy technologies. These minerals, which include copper, cobalt, lithium, nickel, and neodymium, are vital components in renewable energy systems, electric vehicles, grid storage, and advanced electronics. Despite their strategic importance, a significant portion of these minerals is imported from foreign countries, which creates potential vulnerabilities in the supply chain.
This assignment analyzes the demand and import patterns of key minerals in the United States, identifies the primary source countries, and categorizes them as allies, competitors, or neutral parties. By visualizing mineral demand, trade dependencies, and geopolitical alliances, this report provides insight into supply risks and highlights the strategic implications of reliance on external sources under stressed circumstances such as geopolitical tension or economic crises.
The primary objectives of this assignment are:
Catalog Sources of Critical Minerals: Identify the main countries supplying each strategic mineral on the USGS 2022 list.
Assess Geopolitical Reliability: Categorize source countries as allies, competitors, or neutral parties, and evaluate the reliability of each source under stressed circumstances such as war or economic crises.
Analyze Demand Patterns: Examine the total demand for each mineral in the United States, with a focus on applications in clean technologies and other critical industries.
Visualize Supply Dependencies: Develop data visualizations that clearly communicate the US’s reliance on foreign sources and highlight potential shortfalls.
Inform Policy and Strategy: Provide insights that can guide policymakers and industry stakeholders in developing strategies to ensure a stable and resilient supply of critical minerals.
This analysis uses two main datasets.
U.S. Mineral Demand – Shows total demand by application in clean technologies and industrial sectors.
Mineral Imports – Shows countries supplying minerals to the U.S. 2022, categorized by ally, competitor, or neutral status.
Each supplier was categorized as an ally, competitor, or neutral based on current diplomatic and trade relationships. Merging mineral demand with import sources makes it possible to see where the U.S. is most dependent and where supply disruptions would have the greatest impact.
#Load critical mineral list
#import data on Food insecurity in the US - 2022
minerals_data <- read.csv('CriticalMinerals.csv')
glimpse(minerals_data )Rows: 54
Columns: 4
$ Crit_Min <chr> "Aluminum", "Aluminum", "Aluminum", "Antimony", "Arsenic",…
$ CRIT_MIN <chr> "ALUMINUM", "ALUMINUM", "ALUMINUM", "ANTIMONY", "ARSENIC",…
$ crit_min <chr> "aluminum", "aluminum", "aluminum", "antimony", "arsenic",…
$ IMPORTED_AS <chr> "ALUMINUM (METAL)", "ALUMINUM (ALUMINA)", "ALUMINUM (BAUXI…
This section lays out a small reference dataset that shows how different clean energy technologies contribute to demand for key minerals. Each table lists the main use categories and the share of total demand linked to clean technologies. Combining them into one dataset makes it easier to compare patterns across minerals and use them in later visualizations.
# Group by Crit_Min and count entries
minerals_grouped <- minerals_data %>% group_by(Crit_Min) %>%
summarise(Number_of_Entries = n(),.groups = "drop")
# Display nicely
minerals_grouped <- minerals_grouped %>%
rename(`Critical Minerals` = Crit_Min)
kable(minerals_grouped, format = "html", caption = "Critical Minerals Summary") %>%
kable_styling(full_width = TRUE) %>%
scroll_box(width = "100%", height = "400px")| Critical Minerals | Number_of_Entries |
|---|---|
| Aluminum | 3 |
| Antimony | 1 |
| Arsenic | 1 |
| Barite | 1 |
| Beryllium | 1 |
| Bismuth | 1 |
| Cerium | 1 |
| Cesium | 1 |
| Chromium | 1 |
| Cobalt | 1 |
| Dysprosium | 1 |
| Erbium | 1 |
| Europium | 1 |
| Fluorspar | 1 |
| Gadolinium | 1 |
| Gallium | 1 |
| Germanium | 1 |
| Graphite | 1 |
| Hafnium | 1 |
| Holmium | 1 |
| Indium | 1 |
| Iridium | 1 |
| Lanthanum | 1 |
| Lithium | 1 |
| Lutetium | 1 |
| Magnesium | 2 |
| Manganese | 1 |
| Neodymium | 1 |
| Nickel | 1 |
| Niobium | 1 |
| Palladium | 1 |
| Platinum | 1 |
| Praseodymium | 1 |
| Rhodium | 1 |
| Rubidium | 1 |
| Ruthenium | 1 |
| Samarium | 1 |
| Scandium | 1 |
| Tantalum | 1 |
| Tellurium | 1 |
| Terbium | 1 |
| Thulium | 1 |
| Tin | 1 |
| Titanium | 2 |
| Tungsten | 1 |
| Vanadium | 1 |
| Ytterbium | 1 |
| Yttrium | 1 |
| Zinc | 1 |
| Zirconium | 1 |
# Example: count how many import types per mineral
minerals_summary <- minerals_data %>%group_by(Crit_Min) %>%
summarise(Total_Imports = n())
# Bar chart of total import types per mineral
ggplot(minerals_summary, aes(x = reorder(Crit_Min, Total_Imports), y = Total_Imports, fill = Total_Imports)) +
geom_bar(stat = "identity") +
coord_flip() +
labs(title = "Number of Import Types per Critical Mineral",
x = "Critical Mineral",
y = "Number of Import Types") +
scale_fill_gradient(low = "lightblue", high = "darkblue") +
theme_minimal()#Load list of countries import reliance
#Minerals - Partnership Countries USA:
#https://www.state.gov/minerals-security-partnership/#:~:text=The%20United%20States%20was%20joined,bolster%20critical%20mineral%20supply%20chains.
mpc_sources <- c("Australia", "Canada", "Finland", "France", "Germany",
"Japan", "South Korea", "Sweden", "United Kingdom",
"Europe") Mineral Category Total_Demand
1 Copper Solar PV 682
2 Copper Wind 394
3 Copper Other low emissions power generation 85
4 Copper Electric vehicles 373
5 Copper Grid battery storage 20
6 Copper Electricity networks 4182
7 Copper Hydrogen technologies 0
8 Copper Total clean technologies 5736
9 Copper Other uses NA
10 Copper Total demand NA
11 Copper Share of clean technologies in total demand 22
12 Cobalt Low emissions power generation 0
13 Cobalt Electric vehicles 65
14 Cobalt Grid battery storage 4
15 Cobalt Hydrogen technologies 0
16 Cobalt Total clean technologies 68
17 Cobalt Other uses 103
18 Cobalt Total demand 171
19 Cobalt Share of clean technologies in total demand 40
20 Lithium Electric vehicles 70
21 Lithium Grid battery storage 3
22 Lithium Total clean technologies 73
23 Lithium Other uses 57
24 Lithium Total demand 130
25 Lithium Share of clean technologies in total demand 56
26 Nickel Solar PV 0
27 Nickel Wind 37
28 Nickel Other low emissions power generation 83
29 Nickel Electric vehicles 326
30 Nickel Grid battery storage 9
31 Nickel Hydrogen technologies 2
32 Nickel Total clean technologies 457
33 Nickel Other uses 2477
34 Nickel Total demand 2934
35 Nickel Share of clean technologies in total demand 16
36 Neodymium Wind 6
37 Neodymium Electric vehicles 4
38 Neodymium Total clean technologies 10
39 Neodymium Other uses 40
40 Neodymium Total demand 50
41 Neodymium Share of clean technologies in total demand 20
Bringing these datasets together gives a clearer view of how each mineral supports the clean energy supply chain. Minerals like lithium and cobalt show heavy demand from electric vehicles and battery storage, while copper and nickel play broader roles across several technologies. This merged dataset sets the foundation for deeper analysis in the next sections.
The following analysis presents the total demand of key strategic minerals in the United States for the year 2022. These minerals are critical for a wide range of industries, particularly in clean energy technologies such as electric vehicles, solar panels, wind turbines, and battery storage systems. Understanding the total demand for each mineral provides insight into the U.S. dependency on these resources, which has implications for economic planning, supply chain security, and national policy. The bar chart below visualizes the aggregate demand for each mineral, highlighting which resources are most heavily utilized across various sectors.
Key Insights:
Copper, cobalt, lithium, nickel, and neodymium are heavily used in clean technologies like EVs, solar PV, wind power, and battery storage.
Minerals have diverse applications beyond clean tech, e.g., copper in electricity networks.
The share of clean technologies in total demand highlights their strategic importance in the clean energy transition.
Concentrated demand indicates potential supply chain risks, emphasizing the need for diversification.
library(ggplot2)
library(kableExtra)
#Removing rows with NA values
mineral_data_clean <- mineral_data[complete.cases(mineral_data), ]
#Aggregate total demand for each mineral
total_demand <- aggregate(Total_Demand ~ Mineral, data = mineral_data_clean, sum)
#Creating a bar chart
ggplot(total_demand, aes(x = Mineral, y = Total_Demand, fill = Mineral)) +
geom_bar(stat = "identity") +
labs(title = "Total Demand of Each Mineral 2022",
x = "Mineral",
y = "Total Demand") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))Usage in Clean Technologies: The data highlights the significant demand for minerals like copper, cobalt, lithium, nickel, and neodymium in clean technologies such as solar PV, wind power, electric vehicles, and grid battery storage. This indicates the importance of these minerals in supporting the transition towards renewable energy and low-emission technologies.
Diverse Applications: Each mineral serves multiple applications beyond clean technologies. For example, copper is also used in electricity networks, while nickel finds applications in other low emissions power generation methods. Understanding the diverse applications of these minerals helps assess their overall importance in various industries.
Strategic Importance of Clean Technologies: The share of clean technologies in total demand for each mineral provides insights into the strategic importance of these minerals in driving the clean energy transition. Minerals like cobalt and lithium, which have a higher share of demand from clean technologies, are crucial for accelerating the adoption of electric vehicles and energy storage solutions.
Supply Chain Risks: The concentration of demand for certain minerals in specific applications, such as electric vehicles and grid battery storage, highlights potential supply chain risks. Dependency on a limited number of applications or industries can make the supply chain vulnerable to disruptions, emphasizing the need for diversification and resilience strategies.
Policy Implications: Policymakers can use this data to formulate policies that promote sustainable sourcing, recycling, and domestic production of these critical minerals. Ensuring a stable and diversified supply of these minerals is essential for achieving long-term energy security and environmental sustainability goals.
The United States relies on imports to meet the demand for many critical minerals. These imports come from various countries, each with different levels of geopolitical stability and trade relationships with the U.S. Understanding the source countries and the volume of mineral imports helps identify potential supply risks and dependencies. The following analysis visualizes the import patterns for key minerals, providing insight into the U.S. mineral supply chain and highlighting which minerals are most reliant on foreign sources.
'data.frame': 65 obs. of 5 variables:
$ Source : chr "MCS2023" "MCS2023" "MCS2023" "MCS2023" ...
$ Import_Share_Rank : int 1 2 3 4 5 6 7 8 9 10 ...
$ Commodity : chr "ARSENIC, all forms" "ASBESTOS" "CESIUM" "FLUORSPAR" ...
$ Net_Import_Reliance_pct_2022 : chr "100" "100" "100" "100" ...
$ Major_Import_Sources_2018_2021: chr "China, Morocco, Belgium" "Brazil, Russia" "Germany" "Mexico, Vietnam, South Africa, Canada" ...
#head(minerals_import)
# Split the Major_Import_Sources into individual rows
minerals_long <- minerals_import %>%
separate_rows(Major_Import_Sources_2018_2021, sep = ",\\s*") %>%
group_by(Major_Import_Sources_2018_2021) %>%
summarise(Number_of_Minerals = n()) %>%
arrange(desc(Number_of_Minerals))
# Display top 15 mineral-supplying countries
#head(minerals_long, 15)
# Bar chart
ggplot(head(minerals_long, 15), aes(x = reorder(Major_Import_Sources_2018_2021, Number_of_Minerals),
y = Number_of_Minerals,
fill = Number_of_Minerals)) +
geom_col(show.legend = FALSE) +
coord_flip() +
labs(title = "Top 15 Countries Supplying Critical Minerals to the US",
x = "Country",
y = "Number of Minerals Supplied") +
theme_minimal()library(rnaturalearth)
library(rnaturalearthdata)
library(plotly)
# Split Major_Import_Sources into individual rows
minerals_long <- minerals_import %>%
tidyr::separate_rows(Major_Import_Sources_2018_2021, sep = ",\\s*") %>%
group_by(Major_Import_Sources_2018_2021) %>%
summarise(Number_of_Minerals = n()) %>%
ungroup()
# Load world map
world <- ne_countries(scale = "medium", returnclass = "sf")
# Some country names in the dataset may not match the map, e.g., "United States" vs "USA"
# Adjust names if needed
minerals_long$Major_Import_Sources_2018_2021 <- recode(minerals_long$Major_Import_Sources_2018_2021,
"United States" = "USA",
"Republic of Korea" = "South Korea",
"Congo (Kinshasa)" = "Democratic Republic of the Congo",
"Russia" = "Russia",
"South Africa" = "South Africa",
"Europe" = "European Union") # optional
# Join with map data
world_data <- left_join(world, minerals_long, by = c("name" = "Major_Import_Sources_2018_2021"))
# Plot world map
ggplot(world_data) +
geom_sf(aes(fill = Number_of_Minerals)) +
scale_fill_viridis_c(option = "plasma", na.value = "grey90") +
labs(
title = "Critical Minerals Supply to the US by Country",
subtitle = "Shows the number of critical minerals sourced from each country",
caption = "Data source: MCS2022 Import Reliance, USGS 2022",
fill = "Number of Minerals"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 18, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 14, hjust = 0.5),
plot.caption = element_text(size = 10, hjust = 1),
legend.position = "bottom"
)The map highlights the global distribution of critical minerals imported by the United States. Countries in Asia, Europe, and Africa, such as China, Germany, and South Africa, appear as major suppliers, indicating the US relies heavily on a few key nations for these essential resources. This visualization underscores the strategic importance of diversifying mineral sources to reduce supply risks and enhance national security. The interactive tooltips further allow detailed inspection of each country’s contribution, making it easier to identify potential vulnerabilities in the US mineral supply chain.
You will need to categorize each source country as an ally, a competitor or a neutral party.
This map visualizes the global sources of critical minerals imported by the United States. Each country is shaded according to the number of critical minerals it supplies. Additionally, countries are categorized based on their geopolitical alignment with the US: allies, competitors, or neutral parties. This classification highlights potential risks and dependencies in the US mineral supply chain, helping to identify which sources are strategically secure and which may pose challenges under economic or political stress.
#Defining the alliance mapping
alliance_mapping <- list(
'Chile' = "Neutral",
'South Africa' = "Ally",
'Finland' = "Ally",
'Mexico' = "Neutral",
'Indonesia' = "Ally",
'Norway' = "Ally",
'Canada' = "Ally",
'Russia' = "Competitor",
'Japan' = "Ally",
'Philippines' = "Neutral",
'Peru' = "Neutral",
'Cuba' = "Strained Relations",
'Australia' = "Ally",
'Burma' = "Neutral",
'Portugal' = "Ally",
'Sweden' = "Ally",
'China' = "Competitor",
'Mauritania' = "Neutral",
'Brazil' = "Competitor",
'Argentina' = "Neutral",
'Germany' = "Ally",
'Namibia' = "Neutral",
'Zambia' = "Neutral",
'India' = "Neutral",
'Poland' = "Ally",
'Democratic Republic of Congo' = "Neutral",
'Vietnam' = "Neutral",
'Papua New Guinea' = "Neutral",
'Honduras' = "Neutral"
)
# Split countries into separate rows
minerals_long <- minerals_import %>%
separate_rows(Major_Import_Sources_2018_2021, sep = ",\\s*")
# Add country category based on mapping
minerals_long$Country_Category <- sapply(minerals_long$Major_Import_Sources_2018_2021, function(country) {
if (country %in% names(alliance_mapping)) {
alliance_mapping[[country]]
} else {
"Neutral"
}
})
# Select relevant columns and rename
minerals_long_selected <- minerals_long %>%
select(Commodity, Major_Import_Sources_2018_2021, Country_Category) %>%
rename(Major_Import_Country = Major_Import_Sources_2018_2021)
# Display table
kable(head(minerals_long_selected), format = "html") %>%
kable_styling(full_width = TRUE) %>%
scroll_box(width = "100%", height = "300px")| Commodity | Major_Import_Country | Country_Category |
|---|---|---|
| ARSENIC, all forms | China | Competitor |
| ARSENIC, all forms | Morocco | Neutral |
| ARSENIC, all forms | Belgium | Neutral |
| ASBESTOS | Brazil | Competitor |
| ASBESTOS | Russia | Competitor |
| CESIUM | Germany | Ally |
If there were a war between the USA and it’s deemed competitors, Russia and China, then the pool of countries’ markets the USA would have access to would shrink, at least the markets from the alliance of competitors. Possibly if the USA were seen as the unfair aggressor, the USA could lose access to both the competitors and neutral countries’s markets.
Note this is a gross simplification. We’re only considering the top 3 producing countries as opposed all producers. We’re also not considering reserves held and how large those reserves are.
To blend the mineral richness map and the alliances, we’ve made the higher saturation of alliance color correspond to a greater number of strategic minerals produced in that country.
Countries are classified based on alliance status:
Allies: Canada, Australia, Japan, Germany, France, South Korea, UK
Competitors: China, Russia, Brazil
Neutral: Chile, Mexico, India, others
# Aggregate by country category
alliance_map_data <- minerals_long %>%
distinct(Major_Import_Sources_2018_2021, Country_Category)
# Load world map
world <- ne_countries(scale = "medium", returnclass = "sf")
# Adjust country names to match map
alliance_map_data$Major_Import_Country <- recode(alliance_map_data$Major_Import_Sources_2018_2021,
"Republic of Korea" = "South Korea",
"Congo (Kinshasa)" = "Democratic Republic of the Congo",
"USA" = "United States")
# Join map with alliance data
world_data <- left_join(world, alliance_map_data, by = c("name" = "Major_Import_Sources_2018_2021"))
# Plot the world map
ggplot(world_data) +
geom_sf(aes(fill = Country_Category)) +
scale_fill_manual(values = c("Ally" = "green", "Neutral" = "yellow", "Competitor" = "red", "NA" = "grey90")) +
labs(
title = "Global Mineral sources for USA Alliances",
subtitle = "Countries categorized as Ally, Neutral, or Competitor",
caption = "Data source: MCS2022 Import Reliance, USGS 2022",
fill = "Alliance Category"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 18, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 14, hjust = 0.5),
plot.caption = element_text(size = 10, hjust = 1),
legend.position = "bottom"
)The map highlights the global distribution of critical mineral sources for the United States and categorizes each country by its alliance status. Allies such as Canada, Australia, and Japan provide a significant portion of mineral imports, while competitors like China and Russia also supply key minerals, creating potential strategic vulnerabilities. Neutral countries contribute to the diversity of supply but may present uncertainties under geopolitical or economic stress. Overall, the visualization underscores the importance of maintaining strong relationships with allied mineral producers and diversifying supply chains to reduce reliance on competitors.
Ally countries and count the number of minerals imported
This chart shows all ally countries supplying critical minerals to the United States. Each bar represents the number of different minerals imported from a specific ally, highlighting the diversity and reliance on allied nations for these strategic resources. The horizontal layout and scaled bar sizes make it easier to compare contributions across countries.
# Split multiple countries first
minerals_long <- minerals_import %>%
tidyr::separate_rows(Major_Import_Sources_2018_2021, sep = ",\\s*")
# Assign country category
minerals_long <- minerals_long %>%
mutate(Country_Category = case_when(
Major_Import_Sources_2018_2021 %in% c("Canada","Australia","United Kingdom","Germany","France","Japan","South Korea") ~ "Ally",
Major_Import_Sources_2018_2021 %in% c("China","Russia") ~ "Competitor",
TRUE ~ "Neutral"
))
# Filter ally countries
ally_data <- minerals_long %>%
filter(Country_Category == "Ally") %>%
group_by(Major_Import_Sources_2018_2021) %>%
summarise(Number_of_Minerals = n(), .groups = "drop") %>%
arrange(Number_of_Minerals) # ascending order for horizontal bars
# Plot horizontal bar chart
ggplot(ally_data, aes(x = reorder(Major_Import_Sources_2018_2021, Number_of_Minerals), y = Number_of_Minerals, fill = Major_Import_Sources_2018_2021)) +
geom_bar(stat = "identity", width = 0.6) +
coord_flip() +
labs(
title = "Top 5 Ally Countries Supplying Critical Minerals to the USA",
subtitle = "Total minerals imported by each ally country",
x = "Partner Countries",
y = "Total Import (US$ throusand)"
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(size = 18, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 14, hjust = 0.5),
axis.text.x = element_text(size = 10),
axis.text.y = element_text(size = 10),
legend.position = "none"
)The plot reveals that the United States relies on multiple allied countries for its critical mineral imports, with some nations contributing more extensively than others. This highlights the importance of maintaining strong trade relationships with allies to ensure a stable supply of essential minerals for energy, technology, and industrial needs. The distribution also shows that dependency is spread across several countries, reducing the risk associated with reliance on a single source.
Competitor Countries Supplying Critical Minerals to the USA
The United States relies on a variety of foreign sources for critical minerals, some of which come from countries categorized as competitors. Monitoring the supply from these countries is important to assess potential vulnerabilities in strategic mineral availability, especially under conditions of geopolitical tension or trade restrictions. The chart below visualizes the number of different critical minerals imported from each competitor country.
# Plot bar chart
ggplot(competitor_data, aes(x = reorder(Major_Import_Sources_2018_2021, Number_of_Minerals),
y = Number_of_Minerals,
fill = Major_Import_Sources_2018_2021)) +
geom_col(width = 0.5) +
coord_flip() +
labs(title = "Competitor Countries Supplying Critical Minerals to the USA",
subtitle = "Total import (US$) by the USA from each competitor",
x = "Country",
y = "Total Import (US$ throusand)") +
theme_minimal(base_size = 14) +
theme(plot.title = element_text(hjust = 0.5, face = "bold", size = 18),
plot.subtitle = element_text(hjust = 0.5, size = 14),
axis.text.x = element_text(size = 12),
axis.text.y = element_text(size = 12),
legend.position = "none")The chart highlights which competitor countries contribute the most to the US supply of critical minerals. China and Russia, being major competitors, dominate the imports for several critical minerals. This underscores the importance of diversifying mineral sourcing and exploring alternative suppliers to reduce dependency and strengthen supply chain resilience.
Neutral Countries Supplying Critical Minerals to the USA
In addition to allies and competitors, the United States sources critical minerals from neutral countries. These countries are neither closely aligned with nor directly opposed to U.S. interests, but they play an important role in diversifying supply and reducing dependency on any single geopolitical bloc. Understanding the contributions of neutral countries helps assess supply chain resilience under various geopolitical or economic stresses.
# Filter Neutral countries and aggregate
neutral_data <- minerals_long_selected %>%
filter(Country_Category == "Neutral") %>%
group_by(Major_Import_Country) %>%
summarise(Number_of_Minerals = n(), .groups = "drop") %>%
arrange(desc(Number_of_Minerals))
# Plot
ggplot(neutral_data, aes(x = reorder(Major_Import_Country, Number_of_Minerals),
y = Number_of_Minerals,
fill = Major_Import_Country)) +
geom_bar(stat = "identity") +
labs(
title = "Neutral Countries Supplying Critical Minerals to the USA",
subtitle = "Total import of critical minerals from neutral countries",
x = "Country",
y = "Total Import (US$ throusand)"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold", hjust = 0.5, margin = margin(b = 10)),
plot.subtitle = element_text(size = 12, hjust = 0.5, margin = margin(b = 10)),
axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none"
) +
coord_flip() # Flip to make country names more readableThe analysis shows that neutral countries contribute significantly to the U.S. supply of critical minerals, providing an additional layer of diversification in the supply chain. While not formal allies, these countries help mitigate risks associated with relying solely on allied or competitor nations. Maintaining trade relationships with neutral suppliers can enhance the stability of mineral imports and reduce vulnerabilities to disruptions.
War Scenarios
These scenarios show how access to critical minerals changes under hypothetical crises. In war situations, the US relies on allies and neutral countries to maintain supply. Political stability scenarios highlight the impact of sourcing from only high- or medium-stability countries. The analysis emphasizes the need for diversified and stable international partnerships to ensure a resilient mineral supply.
# Assume minerals_long_selected has columns: Commodity, Major_Import_Country, Country_Category
# Scenario 1: USA Alone (exclude all foreign countries)
usa_alone <- minerals_long_selected %>%
filter(Major_Import_Country == "USA") %>%
summarise(Minerals_Available = n())
# Scenario 2: USA & Allies
usa_allies <- minerals_long_selected %>%
filter(Country_Category %in% c("USA", "Ally")) %>%
summarise(Minerals_Available = n())
# Scenario 3: USA & Allies & Neutral
usa_allies_neutral <- minerals_long_selected %>%
filter(Country_Category %in% c("USA", "Ally", "Neutral")) %>%
summarise(Minerals_Available = n())
# Scenario 4: No War/Crisis (all minerals)
no_crisis <- minerals_long_selected %>%
summarise(Minerals_Available = n())
# Combine into a data frame and calculate percentages
war_data <- data.frame(
Access_to = c("USA Alone", "USA & Allies", "USA & Allies & Neutral", "No War/Crisis"),
Minerals_Available = c(
usa_alone$Minerals_Available,
usa_allies$Minerals_Available,
usa_allies_neutral$Minerals_Available,
no_crisis$Minerals_Available
)
) %>%
mutate(Minerals_Available = round(100 * Minerals_Available / max(Minerals_Available), 1))
kable(
war_data,
caption = "War Scenarios: Share of minerals available under each access condition"
)| Access_to | Minerals_Available |
|---|---|
| USA Alone | 0.0 |
| USA & Allies | 34.4 |
| USA & Allies & Neutral | 76.2 |
| No War/Crisis | 100.0 |
Political Stability Scenarios
Here we show what percentage of the strategic minerals the global economy would have access to depending on hypothetical events that would limit access to the top mineral producing countries.
#Create a stability lookup table with all countries
# Get list of unique countries
unique_countries <- unique(minerals_long_selected$Major_Import_Country)
# Create a blank stability table for you to fill manually
political_stability <- data.frame(Major_Import_Country = unique_countries,Stability = NA)
#head(political_stability)
political_stability$Stability[political_stability$Major_Import_Country %in%
c("Canada","Australia","Germany","Japan")] <- "High"
political_stability$Stability[political_stability$Major_Import_Country %in%
c("USA","Brazil","India","Mexico")] <- "Medium"
political_stability$Stability[is.na(political_stability$Stability)] <- "Low"
#Merge stability data
minerals_stability <- minerals_long_selected %>%
left_join(political_stability, by = "Major_Import_Country")
#Step 3: Build Political Stability Scenarios
# Total minerals count (baseline)
total_count <- nrow(minerals_stability)
# Scenario calculations
usa_alone <- minerals_stability %>%
filter(Major_Import_Country == "USA") %>%
nrow()
high_only <- minerals_stability %>%
filter(Stability == "High" | Major_Import_Country == "USA") %>%
nrow()
high_medium <- minerals_stability %>%
filter(Stability %in% c("High","Medium") | Major_Import_Country == "USA") %>%
nrow()
no_restriction <- total_count
#Create the final dataframe
stability_data <- data.frame(
Access_to = c("USA Alone", "High Stability Only", "High & Medium Stability", "No Restriction"),
Minerals_Available = c(usa_alone, high_only, high_medium, no_restriction)
) %>%
mutate(Minerals_Available = round(100 * Minerals_Available / max(Minerals_Available), 1))
kable(
stability_data,
caption = "Political Stability Scenarios: Share of minerals available under each access condition"
)| Access_to | Minerals_Available |
|---|---|
| USA Alone | 0.0 |
| High Stability Only | 25.6 |
| High & Medium Stability | 40.5 |
| No Restriction | 100.0 |
This analysis demonstrates that the United States is highly dependent on a limited set of countries for many strategic minerals, particularly copper, cobalt, lithium, nickel, and neodymium. The maps, charts, and scenario analyses reveal that supply can be severely affected under conflict or political instability. China and Russia, as major competitor countries, represent the highest-risk sources, while allied countries such as Canada, Australia, and Japan provide more secure supply channels. Neutral countries contribute to diversification but may be unpredictable under stress.
Access to minerals improves significantly when the U.S. can rely on allies and neutral partners, but even then, supply remains vulnerable. This highlights that mineral security is both an economic and geopolitical concern, requiring proactive planning to reduce exposure to potential disruptions.
By combining diversified sourcing, strong alliances, and domestic initiatives, the U.S. can enhance the resilience of its critical mineral supply chain, supporting both economic growth and national security while mitigating the risks posed by competitor nations.