Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save svmiller/6d71e1070532b81886aecd9db2f56783 to your computer and use it in GitHub Desktop.
Save svmiller/6d71e1070532b81886aecd9db2f56783 to your computer and use it in GitHub Desktop.
library(tidyverse)
library(stevemisc)
# Load data
Non <- read_csv("~/Dropbox/data/cow/wars/Non-StateWarData_v4.0.csv")
Intra <- read_csv("~/Dropbox/data/cow/wars/Intra-StateWarData_v4.1.csv")
Inter <- read_csv("~/Dropbox/data/cow/wars/Inter-StateWarData_v4.0.csv")
Extra <- read_csv("~/Dropbox/data/cow/wars/Extra-StateWarData_v4.0.csv")
# Get numerical summaries for each war type
Inter %>% distinct(WarName, .keep_all=TRUE) %>%
rowwise() %>%
mutate(year = list(seq(StartYear1, EndYear1))) %>%
ungroup() %>%
unnest() %>%
arrange(WarName, year) %>%
select(WarName, year) %>%
distinct(WarName, year) %>%
group_by(year) %>%
summarize(numinterwars = n()) -> numinterwars
Intra %>% distinct(WarName, .keep_all=TRUE) %>%
rowwise() %>%
filter(!is.na(EndYear1)) %>%
filter(EndYear1 >= 1816) %>%
mutate(year = list(seq(StartYear1, EndYear1))) %>%
ungroup() %>%
unnest() %>%
arrange(WarName, year) %>%
select(WarName, year) %>%
distinct(WarName, year) %>%
group_by(year) %>%
summarize(numintrawars = n()) -> numintrawars
Extra %>% distinct(WarName, .keep_all=TRUE) %>%
rowwise() %>%
filter(!is.na(EndYear1)) %>%
filter(EndYear1 >= 1816) %>%
mutate(year = list(seq(StartYear1, EndYear1))) %>%
ungroup() %>%
unnest() %>%
arrange(WarName, year) %>%
select(WarName, year) %>%
distinct(WarName, year) %>%
group_by(year) %>%
summarize(numextrawars = n()) -> numextrawars
Non %>% distinct(WarName, .keep_all=TRUE) %>%
rowwise() %>%
filter(!is.na(EndYear)) %>%
filter(EndYear >= 1816) %>%
mutate(year = list(seq(StartYear, EndYear))) %>%
ungroup() %>%
unnest() %>%
arrange(WarName, year) %>%
select(WarName, year) %>%
distinct(WarName, year) %>%
group_by(year) %>%
summarize(numnonwars = n()) -> numnonwars
tibble(
year = seq(1816, 2007)
) %>%
left_join(.,numinterwars) %>%
left_join(.,numintrawars) %>%
left_join(.,numextrawars) %>%
left_join(.,numnonwars) %>%
mutate_all(funs(replace(., is.na(.), 0))) %>%
mutate(`Inter-State` = numinterwars/(numinterwars + numintrawars + numextrawars + numnonwars),
`Intra-State` = numintrawars/(numinterwars + numintrawars + numextrawars + numnonwars),
`Extra-State` = numextrawars/(numinterwars + numintrawars + numextrawars + numnonwars),
`Non-State` = numnonwars/(numinterwars + numintrawars + numextrawars + numnonwars)) %>%
gather(Category, Value, `Inter-State`:`Non-State`) %>%
mutate(Category = forcats::fct_relevel(Category, "Non-State", "Extra-State", "Intra-State", "Inter-State")) %>%
ggplot(., aes(x=year,y=Value,group=Category,fill=Category)) + theme_steve() +
geom_area(position="fill", color="black", alpha=0.6) + scale_fill_brewer(palette = "Spectral") +
scale_y_continuous(labels = scales::percent) +
ylab("") + xlab("") +
scale_x_continuous(breaks = seq(1820, 2010, by = 10)) +
labs(title = "Inter-State Wars Motivate Classic Studies in Our Discipline But They're Just a Subset of All Wars Over Time",
subtitle = "The data also show that extra-state and non-state wars have disappeared over time and most wars are intra-state wars.",
caption = "Data: Correlates of War.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment