# Importing Data set
data<- read.csv("C:/Users/User/Downloads/global_conflicts_dataset.csv")
View(data)
# Q1 How many total conflicts are recorded in the dataset?
total_conflicts <- nrow(data)
total_conflicts
## [1] 3000
# Q2 Which country appears most frequently as Country_A in conflicts?
countryA_freq <- table(data$Country_A)
most_countryA <- names(which.max(countryA_freq))
most_countryA
## [1] "USA"
# Q3 Which country appears most frequently as Country_B in conflicts?
countryB_freq <- table(data$Country_B)
most_countryB <- names(which.max(countryB_freq))
most_countryB
## [1] "India"
# Q4 Climate zone with highest conflicts
climate_freq <- table(data$Climate_Zone)
top_climate <- names(which.max(climate_freq))
top_climate
## [1] "Polar"
# Q5 Most common conflict type
conflict_freq <- table(data$Conflict_Type)
top_conflict <- names(which.max(conflict_freq))
top_conflict
## [1] "Skirmish"
# Q6 Average casualties
total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
avg_casualties <- mean(total_casualties)
avg_casualties
## [1] 149534.7
# Q7 Conflict with maximum casualties
total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
max_index <- which.max(total_casualties)
data[max_index, ]
## Country_A Country_B Conflict_Type Year Duration_Days Military_Deaths_A
## 1071 India France Civil War 1980 725 46381
## Military_Deaths_B Civilian_Deaths Economic_Loss_USD_Billions
## 1071 48051 197899 442.51
## Temperature_Avg_C Rainfall_mm Terrain_Type Population_A_Millions
## 1071 31.5 764.4 Urban 964.5
## Population_B_Millions GDP_A_Billions GDP_B_Billions Alliance_A Alliance_B
## 1071 726.8 3767.1 16514.2 NATO Regional
## Weapons_Used Air_Strikes Naval_Battles Sanctions Refugees_Millions
## 1071 Nuclear 2002 59 Yes 9.82
## Ceasefire Outcome Latitude Longitude Climate_Zone Resource_Dispute
## 1071 No Victory_A -75.193 -155.517 Temperate Oil
## UN_Involvement
## 1071 Yes
# Q8 Average economic loss
avg_loss <- mean(data$Economic_Loss_USD_Billions, na.rm = TRUE)
avg_loss
## [1] 253.6844
# Q9 Climate zone with highest average casualties
total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
avg_by_climate <- tapply(total_casualties, data$Climate_Zone, mean, na.rm = TRUE)
top_climate <- names(which.max(avg_by_climate))
top_climate
## [1] "Arid"
# Q10 Average duration
avg_duration <- mean(data$Duration_Days, na.rm = TRUE)
avg_duration
## [1] 1003.735
# Q11 Average casualties by conflict type
total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
avg_by_type <- tapply(total_casualties, data$Conflict_Type, mean, na.rm = TRUE)
avg_by_type
## Civil War Cold Conflict Proxy War Skirmish War
## 147421.4 152010.0 146420.9 151162.6 150802.7
# Q12 Country with most high-casualty conflicts
total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
avg_casualties <- mean(total_casualties, na.rm = TRUE)
high_conflicts <- data[total_casualties > avg_casualties, ]
country_freq <- table(high_conflicts$Country_A)
top_country <- names(which.max(country_freq))
top_country
## [1] "Ukraine"
# Q13 Conflicts with UN involvement
un_conflicts <- data[data$UN_Involvement == "Yes", ]
head(un_conflicts)
## Country_A Country_B Conflict_Type Year Duration_Days Military_Deaths_A
## 1 France France Cold Conflict 2020 1829 33197
## 6 Brazil Brazil Civil War 2013 886 9915
## 8 UK Iran Civil War 1957 712 34429
## 9 France Russia Cold Conflict 2007 728 33641
## 13 Australia Canada Proxy War 1964 1240 9390
## 18 Brazil Brazil Proxy War 1986 891 22344
## Military_Deaths_B Civilian_Deaths Economic_Loss_USD_Billions
## 1 41305 50364 176.45
## 6 46117 101440 499.96
## 8 32194 91987 214.10
## 9 14785 113773 421.31
## 13 16841 141085 162.04
## 18 4897 81997 214.23
## Temperature_Avg_C Rainfall_mm Terrain_Type Population_A_Millions
## 1 8.2 2584.4 Desert 1113.4
## 6 7.0 47.2 Mountain 1149.2
## 8 17.4 286.6 Plains 272.3
## 9 18.1 582.0 Mountain 482.4
## 13 23.0 562.4 Desert 780.5
## 18 31.2 2534.5 Plains 1116.1
## Population_B_Millions GDP_A_Billions GDP_B_Billions Alliance_A Alliance_B
## 1 724.2 4887.9 15609.5 NATO Regional
## 6 844.5 2515.4 21461.7 Regional Regional
## 8 942.1 12868.5 19312.1 NATO Regional
## 9 192.3 24078.2 6410.9 NATO None
## 13 220.4 14165.4 3408.8 Regional NATO
## 18 1120.3 9486.7 9747.6 Regional Regional
## Weapons_Used Air_Strikes Naval_Battles Sanctions Refugees_Millions Ceasefire
## 1 Mixed 87 104 Yes 6.68 No
## 6 Mixed 2928 46 Yes 15.71 No
## 8 Mixed 4387 155 No 1.24 Yes
## 9 Conventional 4868 76 Yes 0.29 Yes
## 13 Nuclear 383 173 Yes 3.95 Yes
## 18 Conventional 3251 192 No 16.42 Yes
## Outcome Latitude Longitude Climate_Zone Resource_Dispute UN_Involvement
## 1 Victory_A 88.811 101.020 Temperate Land Yes
## 6 Victory_B 68.465 -169.618 Tropical Oil Yes
## 8 Stalemate -84.483 -149.462 Arid Oil Yes
## 9 Victory_A -31.107 -161.577 Tropical None Yes
## 13 Victory_B -87.840 -141.052 Arid None Yes
## 18 Stalemate 21.203 104.733 Arid Water Yes
# Q14 Water resource conflicts
water_conflicts <- data[data$Resource_Dispute == "Water", ]
head(water_conflicts)
## Country_A Country_B Conflict_Type Year Duration_Days Military_Deaths_A
## 2 India Japan Cold Conflict 2013 1234 26773
## 3 Israel USA Civil War 1970 1982 17256
## 4 Turkey Australia Proxy War 2021 1754 1745
## 11 Russia Canada War 1980 1949 21663
## 14 Australia France Skirmish 1975 80 34918
## 18 Brazil Brazil Proxy War 1986 891 22344
## Military_Deaths_B Civilian_Deaths Economic_Loss_USD_Billions
## 2 10526 176846 435.83
## 3 7604 17280 154.50
## 4 33468 92279 273.20
## 11 5184 131567 365.56
## 14 16861 181633 304.40
## 18 4897 81997 214.23
## Temperature_Avg_C Rainfall_mm Terrain_Type Population_A_Millions
## 2 24.8 2379.0 Plains 571.6
## 3 17.3 946.6 Mountain 677.0
## 4 12.3 1065.6 Plains 1303.8
## 11 11.9 1713.1 Forest 1269.1
## 14 -5.0 2486.0 Desert 120.5
## 18 31.2 2534.5 Plains 1116.1
## Population_B_Millions GDP_A_Billions GDP_B_Billions Alliance_A Alliance_B
## 2 507.0 10851.5 12932.3 NATO NATO
## 3 1145.0 12079.9 22137.4 Regional None
## 4 98.1 12583.3 10539.7 None NATO
## 11 1209.0 19384.1 12765.8 None None
## 14 242.6 3276.3 11447.6 None None
## 18 1120.3 9486.7 9747.6 Regional Regional
## Weapons_Used Air_Strikes Naval_Battles Sanctions Refugees_Millions Ceasefire
## 2 Conventional 1529 87 Yes 14.51 Yes
## 3 Nuclear 3239 9 No 1.63 No
## 4 Cyber 3185 15 No 7.23 No
## 11 Cyber 2449 57 Yes 6.54 Yes
## 14 Nuclear 4493 144 Yes 1.02 No
## 18 Conventional 3251 192 No 16.42 Yes
## Outcome Latitude Longitude Climate_Zone Resource_Dispute UN_Involvement
## 2 Stalemate 55.878 78.502 Polar Water No
## 3 Stalemate 29.263 144.680 Tropical Water No
## 4 Victory_A -22.281 -147.397 Polar Water No
## 11 Victory_B 52.932 79.081 Tropical Water No
## 14 Stalemate 30.441 9.368 Temperate Water No
## 18 Stalemate 21.203 104.733 Arid Water Yes
# Q15 Above-average casualty conflicts
total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
avg_casualties <- mean(total_casualties, na.rm = TRUE)
high_casualty_conflicts <- data[total_casualties > avg_casualties, ]
head(high_casualty_conflicts)
## Country_A Country_B Conflict_Type Year Duration_Days Military_Deaths_A
## 2 India Japan Cold Conflict 2013 1234 26773
## 6 Brazil Brazil Civil War 2013 886 9915
## 7 Israel Ukraine Civil War 1969 464 1948
## 8 UK Iran Civil War 1957 712 34429
## 9 France Russia Cold Conflict 2007 728 33641
## 11 Russia Canada War 1980 1949 21663
## Military_Deaths_B Civilian_Deaths Economic_Loss_USD_Billions
## 2 10526 176846 435.83
## 6 46117 101440 499.96
## 7 38405 173852 217.70
## 8 32194 91987 214.10
## 9 14785 113773 421.31
## 11 5184 131567 365.56
## Temperature_Avg_C Rainfall_mm Terrain_Type Population_A_Millions
## 2 24.8 2379.0 Plains 571.6
## 6 7.0 47.2 Mountain 1149.2
## 7 -0.1 1431.0 Forest 163.4
## 8 17.4 286.6 Plains 272.3
## 9 18.1 582.0 Mountain 482.4
## 11 11.9 1713.1 Forest 1269.1
## Population_B_Millions GDP_A_Billions GDP_B_Billions Alliance_A Alliance_B
## 2 507.0 10851.5 12932.3 NATO NATO
## 6 844.5 2515.4 21461.7 Regional Regional
## 7 288.1 9519.4 9830.4 NATO Regional
## 8 942.1 12868.5 19312.1 NATO Regional
## 9 192.3 24078.2 6410.9 NATO None
## 11 1209.0 19384.1 12765.8 None None
## Weapons_Used Air_Strikes Naval_Battles Sanctions Refugees_Millions Ceasefire
## 2 Conventional 1529 87 Yes 14.51 Yes
## 6 Mixed 2928 46 Yes 15.71 No
## 7 Mixed 319 11 Yes 11.44 Yes
## 8 Mixed 4387 155 No 1.24 Yes
## 9 Conventional 4868 76 Yes 0.29 Yes
## 11 Cyber 2449 57 Yes 6.54 Yes
## Outcome Latitude Longitude Climate_Zone Resource_Dispute UN_Involvement
## 2 Stalemate 55.878 78.502 Polar Water No
## 6 Victory_B 68.465 -169.618 Tropical Oil Yes
## 7 Victory_A -35.014 -58.427 Tropical Oil No
## 8 Stalemate -84.483 -149.462 Arid Oil Yes
## 9 Victory_A -31.107 -161.577 Tropical None Yes
## 11 Victory_B 52.932 79.081 Tropical Water No
# Q16 Long-duration conflicts
avg_duration <- mean(data$Duration_Days, na.rm = TRUE)
long_conflicts <- data[data$Duration_Days > avg_duration, ]
head(long_conflicts)
## Country_A Country_B Conflict_Type Year Duration_Days Military_Deaths_A
## 1 France France Cold Conflict 2020 1829 33197
## 2 India Japan Cold Conflict 2013 1234 26773
## 3 Israel USA Civil War 1970 1982 17256
## 4 Turkey Australia Proxy War 2021 1754 1745
## 11 Russia Canada War 1980 1949 21663
## 12 France Germany Proxy War 1958 1440 15303
## Military_Deaths_B Civilian_Deaths Economic_Loss_USD_Billions
## 1 41305 50364 176.45
## 2 10526 176846 435.83
## 3 7604 17280 154.50
## 4 33468 92279 273.20
## 11 5184 131567 365.56
## 12 34910 82995 231.67
## Temperature_Avg_C Rainfall_mm Terrain_Type Population_A_Millions
## 1 8.2 2584.4 Desert 1113.4
## 2 24.8 2379.0 Plains 571.6
## 3 17.3 946.6 Mountain 677.0
## 4 12.3 1065.6 Plains 1303.8
## 11 11.9 1713.1 Forest 1269.1
## 12 33.2 1900.9 Mountain 304.4
## Population_B_Millions GDP_A_Billions GDP_B_Billions Alliance_A Alliance_B
## 1 724.2 4887.9 15609.5 NATO Regional
## 2 507.0 10851.5 12932.3 NATO NATO
## 3 1145.0 12079.9 22137.4 Regional None
## 4 98.1 12583.3 10539.7 None NATO
## 11 1209.0 19384.1 12765.8 None None
## 12 467.5 18734.5 4131.0 None NATO
## Weapons_Used Air_Strikes Naval_Battles Sanctions Refugees_Millions Ceasefire
## 1 Mixed 87 104 Yes 6.68 No
## 2 Conventional 1529 87 Yes 14.51 Yes
## 3 Nuclear 3239 9 No 1.63 No
## 4 Cyber 3185 15 No 7.23 No
## 11 Cyber 2449 57 Yes 6.54 Yes
## 12 Conventional 4253 129 Yes 12.13 No
## Outcome Latitude Longitude Climate_Zone Resource_Dispute UN_Involvement
## 1 Victory_A 88.811 101.020 Temperate Land Yes
## 2 Stalemate 55.878 78.502 Polar Water No
## 3 Stalemate 29.263 144.680 Tropical Water No
## 4 Victory_A -22.281 -147.397 Polar Water No
## 11 Victory_B 52.932 79.081 Tropical Water No
## 12 Stalemate -56.315 2.048 Tropical Land No
# Q17 UN vs Non-UN conflicts
un_comparison <- table(data$UN_Involvement)
un_comparison
##
## No Yes
## 1490 1510
# Q18 Top 5 economic loss conflicts
sorted_data <- data[order(-data$Economic_Loss_USD_Billions), ]
top5_loss <- head(sorted_data, 5)
top5_loss
## Country_A Country_B Conflict_Type Year Duration_Days Military_Deaths_A
## 6 Brazil Brazil Civil War 2013 886 9915
## 1060 USA UK Cold Conflict 2022 1812 13447
## 2705 China Australia War 2003 1295 28993
## 995 Russia Iran Cold Conflict 1998 233 2706
## 501 China UK Skirmish 1972 1166 22806
## Military_Deaths_B Civilian_Deaths Economic_Loss_USD_Billions
## 6 46117 101440 499.96
## 1060 12706 172072 499.57
## 2705 26204 9152 499.47
## 995 16408 194354 499.32
## 501 43714 188685 499.09
## Temperature_Avg_C Rainfall_mm Terrain_Type Population_A_Millions
## 6 7.0 47.2 Mountain 1149.2
## 1060 19.9 847.8 Urban 1189.7
## 2705 -2.5 348.1 Urban 259.3
## 995 7.2 2995.6 Plains 602.2
## 501 7.1 2407.6 Forest 1372.2
## Population_B_Millions GDP_A_Billions GDP_B_Billions Alliance_A Alliance_B
## 6 844.5 2515.4 21461.7 Regional Regional
## 1060 1382.5 9330.8 18998.8 NATO Regional
## 2705 1122.3 17779.5 2828.8 Regional NATO
## 995 822.7 7277.6 24491.0 NATO Regional
## 501 1121.8 17479.0 9206.7 Regional NATO
## Weapons_Used Air_Strikes Naval_Battles Sanctions Refugees_Millions
## 6 Mixed 2928 46 Yes 15.71
## 1060 Cyber 1549 157 No 5.36
## 2705 Nuclear 91 124 Yes 5.91
## 995 Cyber 1278 152 No 19.61
## 501 Conventional 3418 122 No 5.20
## Ceasefire Outcome Latitude Longitude Climate_Zone Resource_Dispute
## 6 No Victory_B 68.465 -169.618 Tropical Oil
## 1060 No Victory_B -18.811 -126.361 Temperate Land
## 2705 Yes Victory_B 75.255 130.223 Arid Oil
## 995 No Victory_A -87.294 -175.298 Temperate Water
## 501 Yes Victory_A -66.649 -126.085 Tropical Water
## UN_Involvement
## 6 Yes
## 1060 Yes
## 2705 No
## 995 No
## 501 No
# Q19 Create Casualty_Level column
total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
data$Casualty_Level <- ifelse(
total_casualties < 50000, "Low",
ifelse(total_casualties < 100000, "Medium", "High")
)
head(data)
## Country_A Country_B Conflict_Type Year Duration_Days Military_Deaths_A
## 1 France France Cold Conflict 2020 1829 33197
## 2 India Japan Cold Conflict 2013 1234 26773
## 3 Israel USA Civil War 1970 1982 17256
## 4 Turkey Australia Proxy War 2021 1754 1745
## 5 Australia France War 2012 753 29149
## 6 Brazil Brazil Civil War 2013 886 9915
## Military_Deaths_B Civilian_Deaths Economic_Loss_USD_Billions
## 1 41305 50364 176.45
## 2 10526 176846 435.83
## 3 7604 17280 154.50
## 4 33468 92279 273.20
## 5 40672 72545 351.35
## 6 46117 101440 499.96
## Temperature_Avg_C Rainfall_mm Terrain_Type Population_A_Millions
## 1 8.2 2584.4 Desert 1113.4
## 2 24.8 2379.0 Plains 571.6
## 3 17.3 946.6 Mountain 677.0
## 4 12.3 1065.6 Plains 1303.8
## 5 31.1 139.4 Plains 938.3
## 6 7.0 47.2 Mountain 1149.2
## Population_B_Millions GDP_A_Billions GDP_B_Billions Alliance_A Alliance_B
## 1 724.2 4887.9 15609.5 NATO Regional
## 2 507.0 10851.5 12932.3 NATO NATO
## 3 1145.0 12079.9 22137.4 Regional None
## 4 98.1 12583.3 10539.7 None NATO
## 5 386.3 23875.5 14095.4 Regional NATO
## 6 844.5 2515.4 21461.7 Regional Regional
## Weapons_Used Air_Strikes Naval_Battles Sanctions Refugees_Millions Ceasefire
## 1 Mixed 87 104 Yes 6.68 No
## 2 Conventional 1529 87 Yes 14.51 Yes
## 3 Nuclear 3239 9 No 1.63 No
## 4 Cyber 3185 15 No 7.23 No
## 5 Mixed 12 22 Yes 19.65 No
## 6 Mixed 2928 46 Yes 15.71 No
## Outcome Latitude Longitude Climate_Zone Resource_Dispute UN_Involvement
## 1 Victory_A 88.811 101.020 Temperate Land Yes
## 2 Stalemate 55.878 78.502 Polar Water No
## 3 Stalemate 29.263 144.680 Tropical Water No
## 4 Victory_A -22.281 -147.397 Polar Water No
## 5 Victory_A 17.638 169.360 Temperate Land No
## 6 Victory_B 68.465 -169.618 Tropical Oil Yes
## Casualty_Level
## 1 High
## 2 High
## 3 Low
## 4 High
## 5 High
## 6 High
# Q20 Count of each Casualty_Level
level_table <- as.data.frame(table(data$Casualty_Level))
level_table
## Var1 Freq
## 1 High 2222
## 2 Low 132
## 3 Medium 646
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
# Q21 Create a bar plot showing average casualties for each Conflict_Type
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
data$total_casualties <- data$Military_Deaths_A + data$Military_Deaths_B + data$Civilian_Deaths
avg_type <- data %>%
group_by(Conflict_Type) %>%
summarise(avg_casualties = mean(total_casualties, na.rm = TRUE))
ggplot(avg_type, aes(x = Conflict_Type, y = avg_casualties, fill = Conflict_Type)) +
geom_bar(stat = "identity") +
labs(title = "Average Casualties by Conflict Type",
x = "Conflict Type",
y = "Average Casualties")

# Q22 Create a bar plot showing average casualties across Climate_Zone
avg_climate <- data %>%
group_by(Climate_Zone) %>%
summarise(avg_casualties = mean(total_casualties, na.rm = TRUE))
ggplot(avg_climate, aes(x = Climate_Zone, y = avg_casualties, fill = Climate_Zone)) +
geom_bar(stat = "identity") +
labs(title = "Average Casualties by Climate Zone",
x = "Climate Zone",
y = "Average Casualties")

# Q23 Compare average casualties for conflicts with and without UN involvement
avg_un <- data %>%
group_by(UN_Involvement) %>%
summarise(avg_casualties = mean(total_casualties, na.rm = TRUE))
ggplot(avg_un, aes(x = UN_Involvement, y = avg_casualties, fill = UN_Involvement)) +
geom_bar(stat = "identity") +
labs(title = "UN Involvement vs Casualties",
x = "UN Involvement",
y = "Average Casualties")

# Q24 Show the distribution of total casualties
ggplot(data, aes(x = total_casualties)) +
geom_histogram(binwidth = 2000, fill = "skyblue", color = "black") +
ggtitle("Distribution of Total Casualties") +
xlab("Casualties") +
ylab("Frequency")

# Q25 Show the distribution of Duration_Days
ggplot(data, aes(x = Duration_Days)) +
geom_histogram(binwidth = 20, fill = "orange", color = "black") +
ggtitle("Distribution of Conflict Duration")

# Q26 Show number of conflicts per year
year_data <- data %>%
group_by(Year) %>%
summarise(count = n())
ggplot(year_data, aes(x = Year, y = count)) +
geom_line(color = "blue", size = 1) +
ggtitle("Number of Conflicts Over Years") +
labs(x = "Year", y = "Number of Conflicts")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# Q27 Show trend of average casualties over time
year_casualties <- data %>%
group_by(Year) %>%
summarise(avg_casualties = mean(total_casualties, na.rm = TRUE))
ggplot(year_casualties, aes(x = Year, y = avg_casualties)) +
geom_line(color = "darkgreen", size = 1) +
geom_point(color = "red", size = 2) +
ggtitle("Average Casualties Over Years") +
labs(x = "Year", y = "Average Casualties")

# Q28 Analyze relationship between duration and casualties using year-wise aggregation
year_scatter <- data %>%
group_by(Year) %>%
summarise(
avg_duration = mean(Duration_Days, na.rm = TRUE),
avg_casualties = mean(total_casualties, na.rm = TRUE)
)
ggplot(year_scatter, aes(x = avg_duration, y = avg_casualties)) +
geom_point(color = "red", size = 3) +
ggtitle("Avg Duration vs Casualties (Year-wise)") +
xlab("Average Duration") +
ylab("Average Casualties")

# Q29 Create a scatter plot to analyze the relationship between average duration and average casualties over years, using color to represent different years
ggplot(year_scatter, aes(x = avg_duration, y = avg_casualties,
color = Year)) +
geom_point(size = 3) +
ggtitle("Year-wise Scatter (Duration vs Casualties)") +
labs(color = "Year")

# Q30 Compare conflict types across different climate zones
facet_data <- data %>%
group_by(Climate_Zone, Conflict_Type) %>%
summarise(count = n())
## `summarise()` has regrouped the output.
## ℹ Summaries were computed grouped by Climate_Zone and Conflict_Type.
## ℹ Output is grouped by Climate_Zone.
## ℹ Use `summarise(.groups = "drop_last")` to silence this message.
## ℹ Use `summarise(.by = c(Climate_Zone, Conflict_Type))` for per-operation
## grouping (`?dplyr::dplyr_by`) instead.
ggplot(facet_data, aes(x = Conflict_Type, y = count, fill = Conflict_Type)) +
geom_bar(stat = "identity") +
facet_wrap(~Climate_Zone) +
labs(title = "Conflict Type across Climate Zones",
x = "Conflict Type",
y = "Count")
