| Title: | Access the Intergovernmental Organizations Database |
| Version: | 1.0.2 |
| Description: | Tools for searching, extracting and recoding information from the Intergovernmental Organizations ('IGO') Database (v3), distributed by the Correlates of War Project https://correlatesofwar.org/. See also Pevehouse, J. C. et al. (2020) <doi:10.1177/0022343319881175>. |
| License: | GPL (≥ 3) |
| URL: | https://dieghernan.github.io/igoR/, https://github.com/dieghernan/igoR |
| BugReports: | https://github.com/dieghernan/igoR/issues |
| Depends: | R (≥ 3.6.0) |
| Suggests: | countrycode (≥ 1.1.0), dplyr (≥ 1.0.2), ggplot2, quarto, testthat (≥ 3.0.0) |
| VignetteBuilder: | quarto |
| Config/Needs/website: | dieghernan/gitdevr, reactable, giscoR, devtools, remotes, cpp11, sessioninfo |
| Config/roxygen2/markdown: | TRUE |
| Config/roxygen2/version: | 8.0.0 |
| Config/testthat/edition: | 3 |
| Config/testthat/parallel: | true |
| Copyright: | © 2000-2021 by the Correlates of War. See file COPYRIGHTS. |
| Encoding: | UTF-8 |
| LazyData: | true |
| X-schema.org-keywords: | r, igo, correlates-of-war, intergovernmental-organisations, cran, intergovernmental-organizations, r-package, rstats, cran-r |
| NeedsCompilation: | no |
| Packaged: | 2026-05-23 10:41:56 UTC; diego |
| Author: | Diego Hernangómez |
| Maintainer: | Diego Hernangómez <diego.hernangomezherrero@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-05-23 11:00:14 UTC |
igoR: Access the Intergovernmental Organizations Database
Description
Tools for searching, extracting and recoding information from the Intergovernmental Organizations ('IGO') Database (v3), distributed by the Correlates of War Project https://correlatesofwar.org/. See also Pevehouse, J. C. et al. (2020) doi:10.1177/0022343319881175.
Author(s)
Maintainer: Diego Hernangómez diego.hernangomezherrero@gmail.com (ORCID) [copyright holder]
Authors:
Diego Hernangómez diego.hernangomezherrero@gmail.com (ORCID) [copyright holder]
Other contributors:
The Correlates of War Project (for the data) [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/dieghernan/igoR/issues
Extract joint membership for a pair of countries across IGOs
Description
Create a dyadic version of the data. The unit of observation is a country dyad. The result summarizes joint memberships across IGOs over time.
Usage
igo_dyadic(country1, country2, year = 1816:2014, ioname = NULL)
Arguments
country1, country2 |
State or vector of states to compare. Values can be any valid state name or code as specified in states2016. |
year |
Year to assess, as an integer or vector of years. |
ioname |
Optional. |
Details
This function tries to replicate the information contained in the original
file distributed by The Correlates of War Project (dyadic_format3.dta).
That file is not included in this package due to its size.
The result is a data.frame with one row for each common
year selected via country1, country2 and year.
An additional column, dyadid, computed as (1000 * ccode1) + ccode2, is
provided to identify relationships.
For each IGO selected via ioname, or all IGOs if the default option is
used, a column using lowercase ioname as an identifier is provided with
the following coding system:
| Category | Numerical Value |
| No Joint Membership | 0 |
| Joint Full Membership | 1 |
| Missing data | -9 |
| State Not System Member | -1 |
See the igo_recode_dyadic() section for an easy way to recode the
numerical values into factors.
If one state in an IGO is a full member but the other is an associate member or observer, that IGO is not coded as a joint membership.
Value
A coded data.frame with years and country dyads as rows
and selected IGOs as columns. See Details.
Differences from the original data set
Some results from this function differ from the original data set for some
IGOs regarding "Missing data" (-9) and "State Not System Member" (-1).
However, it is not clear how to fully replicate those values.
See Codebook Version 3 IGO Data.
Source
Codebook Version 3 IGO Data for full reference.
References
Pevehouse, J. C., Nordstrom, T., McManus, R. W., & Jamison, A. S. (2020). Tracking organizations in the world: The Correlates of War IGO Version 3.0 data sets. Journal of Peace Research, 57(3), 492–503. doi:10.1177/0022343319881175.
See Also
state_year_format3, states2016, igo_search().
Examples
usa_esp <- igo_dyadic("USA", "Spain")
nrow(usa_esp)
ncol(usa_esp)
dplyr::tibble(usa_esp)
# Use custom arguments.
custom <- igo_dyadic(
country1 = c("France", "Germany"), country2 = c("Sweden", "Austria"),
year = 1992:1993, ioname = "EU"
)
dplyr::glimpse(custom)
Extract members of an IGO
Description
Extract all countries that belong to an IGO on a specific date.
Usage
igo_members(ioname, year = NULL, status = "Full Membership")
Arguments
ioname |
Any valid |
year |
Year to assess, as an integer or vector of years. If
|
status |
Character or vector with the membership status to be extracted. See Details in state_year_format3. |
Value
A data.frame.
Source
Codebook Version 3 IGO Data for full reference.
References
Pevehouse, J. C., Nordstrom, T., McManus, R. W., & Jamison, A. S. (2020). Tracking organizations in the world: The Correlates of War IGO Version 3.0 data sets. Journal of Peace Research, 57(3), 492–503. doi:10.1177/0022343319881175.
See Also
igo_year_format3, igo_search(), state_year_format3.
Examples
library(dplyr)
igo_members("EU", year = 1993) %>% as_tibble()
igo_members("EU") %>% as_tibble()
igo_members("NAFTA", year = c(1995:1998)) %>% as_tibble()
# Extract different statuses.
igo_members("ACCT", status = c("Associate Membership", "Observer")) %>%
as_tibble()
# States that are not members of the UN.
igo_members("UN", status = "No Membership") %>%
as_tibble()
# Vectorized.
igo_members(c("NAFTA", "EU"), year = 1993) %>%
as_tibble() %>%
arrange(state)
# Use the countrycode package to get additional codes.
if (requireNamespace("countrycode", quietly = TRUE)) {
library(countrycode)
EU <- igo_members("EU")
EU$iso3c <- countrycode(EU$ccode, origin = "cown", destination = "iso3c")
EU$continent <- countrycode(EU$ccode,
origin = "cown",
destination = "continent"
)
tibble(EU)
}
Helper functions to recode categories
Description
These functions convert the numerical codes of igo_year_format3 and
state_year_format3 into factors. Use
igo_recode_igoyear() with values from igo_year_format3,
igo_recode_stateyear() with values from state_year_format3 and
igo_recode_dyadic() with values from igo_dyadic().
Usage
igo_recode_igoyear(x)
igo_recode_stateyear(x)
igo_recode_dyadic(x)
Arguments
x |
Numerical value (or vector of values) to recode. |
Value
The recoded values as factors.
See Also
Other datasets:
igo_year_format3,
state_year_format3,
states2016
Examples
data("igo_year_format3")
# Recode memberships for some countries.
library(dplyr)
samp <- igo_year_format3 %>%
select(ioname:year, spain, france) %>%
filter(year > 2000) %>%
as_tibble()
glimpse(samp)
# Recode.
samp %>%
mutate(
spain = igo_recode_igoyear(spain),
france = igo_recode_igoyear(france)
) %>%
glimpse()
Search for an IGO
Description
Search for any IGO by name or string pattern.
Usage
igo_search(pattern = NULL, exact = FALSE)
Arguments
pattern |
regex pattern. If |
exact |
Logical. When |
Details
The information for each IGO is retrieved from the last year available in igo_year_format3.
An additional column label is provided. This column is a clean version of
longorgname.
Value
A data.frame.
Source
Codebook Version 3 IGO Data for full reference.
References
Pevehouse, J. C., Nordstrom, T., McManus, R. W., & Jamison, A. S. (2020). Tracking organizations in the world: The Correlates of War IGO Version 3.0 data sets. Journal of Peace Research, 57(3), 492–503. doi:10.1177/0022343319881175.
See Also
Examples
# All values.
library(dplyr)
all <- igo_search()
all %>% tibble()
# Search by pattern.
igo_search("EU") %>%
select(ionum:orgname) %>%
tibble()
igo_search("EU", exact = TRUE) %>%
select(ionum:orgname) %>%
tibble()
# Use integers.
igo_search(10) %>%
select(ionum:orgname) %>%
tibble()
igo_search(10, exact = TRUE) %>%
select(ionum:orgname) %>%
tibble()
# Use several patterns (regex style).
igo_search("NAFTA|UN|EU") %>%
select(ionum:orgname) %>%
tibble()
# Use several exact patterns (regex style).
igo_search("^NAFTA$|^UN$|^EU$") %>%
select(ionum:orgname) %>%
tibble()
Find codes and names of a state
Description
Find codes and names of a state.
Usage
igo_search_states(state)
Arguments
state |
Any valid state name or code as specified in states2016. This can also be a vector of states. |
Value
A data.frame.
Source
Codebook Version 3 IGO Data for full reference.
References
Pevehouse, J. C., Nordstrom, T., McManus, R. W., & Jamison, A. S. (2020). Tracking organizations in the world: The Correlates of War IGO Version 3.0 data sets. Journal of Peace Research, 57(3), 492–503. doi:10.1177/0022343319881175.
See Also
Examples
library(dplyr)
igo_search_states("Spain") %>% as_tibble()
igo_search_states(c(20, 150)) %>% as_tibble()
igo_search_states("congo") %>% as_tibble()
igo_search_states(c("Germany", "papal states")) %>% as_tibble()
igo_search_states(c("FRN", "United Kingdom", 240, "italy")) %>% as_tibble()
Extract memberships of a state
Description
Extract all IGO memberships of a state on a specific date.
Usage
igo_state_membership(state, year = NULL, status = "Full Membership")
Arguments
state |
Any valid state name or code as specified in states2016. This can also be a vector of states. |
year |
Year to assess, as an integer or vector of years. If
|
status |
Character or vector with the membership status to be extracted. See Details in igo_year_format3. |
Value
A data.frame.
Source
Codebook Version 3 IGO Data for full reference.
References
Pevehouse, J. C., Nordstrom, T., McManus, R. W., & Jamison, A. S. (2020). Tracking organizations in the world: The Correlates of War IGO Version 3.0 data sets. Journal of Peace Research, 57(3), 492–503. doi:10.1177/0022343319881175.
See Also
igo_year_format3, igo_search_states(), states2016.
Examples
# Memberships on two different dates.
igo_state_membership("Spain", year = 1850)
igo_state_membership("Spain", year = 1870)
igo_state_membership("Spain", year = 1880:1882)
# Last year.
igo_state_membership("ZAN")[, 1:7]
# Use codes to get countries.
igo_state_membership("2", year = 1865)
# Extract different statuses.
igo_state_membership("kosovo", status = c(
"Associate Membership", "Observer",
"Full Membership"
))
# Vectorized.
igo_state_membership(c("usa", "spain"), year = 1870:1871)
# Use the countrycode package to get additional codes.
if (requireNamespace("countrycode", quietly = TRUE)) {
library(countrycode)
IT <- igo_state_membership("Italy", year = 1880)
IT$iso3c <- countrycode(IT$ccode, origin = "cown", destination = "iso3c")
head(IT)
}
Intergovernmental organizations by year
Description
Data on IGOs from 1815 to 2014 at the IGO-year level. Contains one record per IGO-year, with years listed at five-year intervals through 1965 and annually thereafter.
Format
data.frame with
19,335 rows. Relevant
fields:
-
ioname: Short abbreviation of the IGO name.
-
orgname: Full IGO name.
-
year: Calendar year.
-
afghanistan...zimbabwe: Status of that state in the IGO. See Details.
-
sdate: Start year for the IGO.
-
deaddate: End year for the IGO.
-
longorgname: Longer version of the IGO name, including previous names.
-
ionum: IGO ID number in v2.1 and v3.0 of the data.
-
version: COW version number.
See Codebook Version 3 IGO Data for full reference.
Details
Possible values for the status of a state in the IGO are:
| Category | Numerical Value |
| No Membership | 0 |
| Full Membership | 1 |
| Associate Membership | 2 |
| Observer | 3 |
| Missing data | -9 |
| State Not System Member | -1 |
See the igo_recode_igoyear() section for an easy way to recode the
numerical values into factors.
Note
Raw data used internally by igoR.
Source
Intergovernmental Organizations (v3), The Correlates of War Project (IGO Data Stata Files).
References
Pevehouse, J. C., Nordstrom, T., McManus, R. W., & Jamison, A. S. (2020). Tracking organizations in the world: The Correlates of War IGO Version 3.0 data sets. Journal of Peace Research, 57(3), 492–503. doi:10.1177/0022343319881175.
See Also
Other datasets:
igo_recode_igoyear(),
state_year_format3,
states2016
Examples
data("state_year_format3")
# Show a glimpse.
library(dplyr)
state_year_format3 %>%
select(ccode:afgec) %>%
filter(year > 1990) %>%
glimpse()
# Recode numerical values to factors with a sample.
sample_state_year <- state_year_format3 %>%
as_tibble() %>%
select(ccode:afgec) %>%
filter(year == 1990)
sample_state_year %>% glimpse()
# Recode.
sample_state_year_recoded <- sample_state_year %>%
mutate(across(-c(ccode:state), igo_recode_stateyear))
sample_state_year_recoded %>% glimpse()
Country membership in IGOs by year
Description
Data on IGOs from 1815 to 2014 at the country-year level. Contains one record per country-year, with years listed at five-year intervals through 1965 and annually thereafter.
Format
data.frame with
15,557 rows. Relevant
fields:
-
ccode: COW country number, see states2016.
-
year: Calendar year.
-
state: Abbreviated state name, identical to variable names in igo_year_format3.
-
aaaid...wassen: IGO variables containing information on state membership status. See Details.
See Codebook Version 3 IGO Data.
Details
Possible values for the status of a state in the IGO are:
| Category | Numerical Value |
| No Membership | 0 |
| Full Membership | 1 |
| Associate Membership | 2 |
| Observer | 3 |
| Missing data | -9 |
| IGO Not In Existence | -1 |
See the igo_recode_stateyear() section for an easy way to recode the
numerical values into factors.
Note
Raw data used internally by igoR.
Source
Intergovernmental Organizations (v3), The Correlates of War Project (IGO Data Stata Files).
References
Pevehouse, J. C., Nordstrom, T., McManus, R. W., & Jamison, A. S. (2020). Tracking organizations in the world: The Correlates of War IGO Version 3.0 data sets. Journal of Peace Research, 57(3), 492–503. doi:10.1177/0022343319881175.
See Also
countrycode::countrycode() to convert between different country code
schemes.
Other datasets:
igo_recode_igoyear(),
igo_year_format3,
states2016
Examples
data("state_year_format3")
dplyr::tibble(state_year_format3)
State system membership (v2016)
Description
The list of states with COW abbreviations and ID numbers, plus the field
state from state_year_format3.
Format
data.frame with
243 rows. Relevant fields:
-
ccode: COW country number.
-
stateabb: COW state abbreviation (3 characters).
-
statenme: COW state name.
-
styear...endday: Fields that identify the beginning and end of each tenure.
-
version: Data file version number.
-
state: Abbreviated state name as it appears in state_year_format3.
Details
This data set contains the list of states in the international system as updated and distributed by the Correlates of War Project.
These data sets identify states, their standard Correlates of War "country code" or state number (used throughout the Correlates of War project data sets), state abbreviations, and dates of membership as states and major powers in the international system.
The Correlates of War Project includes a state in the international system from 1816 to 2016 according to the following criteria:
-
Before 1920, the entity must have had a population greater than 500,000 and have had diplomatic missions at or above the rank of charge d'affaires with Britain and France.
-
After 1920, the entity must be a member of the League of Nations or the United Nations, or have a population greater than 500,000 and receive diplomatic missions from two major powers.
Note
The state variable was added to the original data to help comparisons
across data sets in this package.
Source
State System Membership (v2016), The Correlates of War Project.
References
Correlates of War Project. 2017 "State System Membership List, v2016." Online, https://correlatesofwar.org/.
See Also
Other datasets:
igo_recode_igoyear(),
igo_year_format3,
state_year_format3
Examples
# Example code.
data("states2016")
dplyr::glimpse(states2016)