| Title: | Access the Intergovernmental Organizations ('IGO') Database |
| Version: | 1.0.3 |
| Description: | Provides tools for searching, extracting and recoding the Intergovernmental Organizations ('IGO') Database (version 3), distributed by the Correlates of War Project https://correlatesofwar.org/. Includes 'IGO'-year and country-year membership data, state system data and functions for deriving dyad-year joint membership results. For a description of the data, see 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) |
| Imports: | stats |
| Suggests: | countrycode (≥ 1.1.0), dplyr (≥ 1.0.2), ggplot2, knitr, 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-06-23 14:24:24 UTC; diego |
| Author: | Diego Hernangómez |
| Maintainer: | Diego Hernangómez <diego.hernangomezherrero@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-06-24 07:40:31 UTC |
igoR: Access the Intergovernmental Organizations ('IGO') Database
Description
Provides tools for searching, extracting and recoding the Intergovernmental Organizations ('IGO') Database (version 3), distributed by the Correlates of War Project https://correlatesofwar.org/. Includes 'IGO'-year and country-year membership data, state system data and functions for deriving dyad-year joint membership results. For a description of the data, see 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]
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
Useful links:
Report bugs at https://github.com/dieghernan/igoR/issues
Extract joint IGO membership for state pairs
Description
Creates dyad-year IGO data. Each row represents a pair of states in one year and summarizes their joint memberships across IGOs.
Usage
igo_dyadic(country1, country2, year = 1816:2014, ioname = NULL)
Arguments
country1, country2 |
A state or vector of states to compare. Each value can be any state name or code in states2016. |
year |
An integer or vector of years to assess. |
ioname |
An optional IGO identifier or vector of identifiers. If |
Details
The arguments country1 and country2 are named for compatibility with
earlier versions of igoR. Values are matched against states in
states2016.
This function reproduces the structure of the original dyad-year 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 contains one row for each common year selected by country1,
country2 and year.
The dyadid column identifies each relationship and is computed as
(1000 * ccode1) + ccode2.
For each selected IGO, the result includes a column named after its lowercase identifier and uses this coding scheme:
| Category | Numerical value |
| No Joint Membership | 0 |
| Joint Full Membership | 1 |
| Missing data | -9 |
| State Not System Member | -1 |
Use igo_recode_dyadic() to recode the numerical values as
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 one row per state pair and year and
one column per selected IGO. See Details for the coding scheme.
Differences from the original data set
For some IGOs, results differ from the original data set in the coding of
"Missing data" (-9) and "State Not System Member" (-1). The available
documentation does not fully specify how to reproduce those values.
See Codebook Version 3 IGO Data.
Source
Codebook Version 3 IGO Data for the 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(), igo_recode_dyadic().
Other membership functions:
igo_members(),
igo_state_membership()
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 IGO membership records
Description
Extracts state-level membership records for one or more IGOs and years.
Usage
igo_members(ioname, year = NULL, status = "Full Membership")
Arguments
ioname |
An IGO identifier or vector of identifiers from
igo_year_format3. Use |
year |
An integer or vector of years to assess. If |
status |
A character vector of membership statuses to extract. See state_year_format3 for valid statuses. |
Value
A data.frame with one row per matching state, IGO, year and
membership status.
Source
Codebook Version 3 IGO Data for the 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.
Other membership functions:
igo_dyadic(),
igo_state_membership()
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 multiple membership 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 search.
igo_members(c("NAFTA", "EU"), year = 1993) %>%
as_tibble() %>%
arrange(state)
# Use the countrycode package to add 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)
}
Recode membership categories
Description
Converts the numerical membership codes in igo_year_format3,
state_year_format3 and igo_dyadic() 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 |
A numerical value or vector of values to recode. |
Value
A factor with the recoded membership categories.
Examples
data("igo_year_format3")
# Recode memberships for some states.
library(dplyr)
samp <- igo_year_format3 %>%
select(ioname:year, spain, france) %>%
filter(year > 2000) %>%
as_tibble()
glimpse(samp)
# Recode the membership columns.
samp %>%
mutate(
spain = igo_recode_igoyear(spain),
france = igo_recode_igoyear(france)
) %>%
glimpse()
Search for IGOs
Description
Searches for IGOs by name or regular expression.
Usage
igo_search(pattern = NULL, exact = FALSE)
Arguments
pattern |
A regular expression used to match IGO names
and identifiers. If |
exact |
A logical value. If |
Details
The information for each IGO is retrieved from the latest year available in igo_year_format3.
The label column provides a cleaned version of longorgname.
Value
A data.frame with IGO identifiers, names, dates and other
metadata from the latest available year for each IGO.
Source
Codebook Version 3 IGO Data for the 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
Other query functions:
igo_search_states()
Examples
# Return 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()
# Search by numeric identifier.
igo_search(10) %>%
select(ionum:orgname) %>%
tibble()
igo_search(10, exact = TRUE) %>%
select(ionum:orgname) %>%
tibble()
# Search with a regular expression.
igo_search("NAFTA|UN|EU") %>%
select(ionum:orgname) %>%
tibble()
# Search for several exact identifiers.
igo_search("^NAFTA$|^UN$|^EU$") %>%
select(ionum:orgname) %>%
tibble()
Find state codes, abbreviations and names
Description
Finds Correlates of War codes, abbreviations and names for states.
Usage
igo_search_states(state)
Arguments
state |
A state name or code, or a vector of names or codes, as specified in states2016. |
Value
A data.frame with Correlates of War country codes,
abbreviations, names and the matching state identifiers used by
state_year_format3.
Source
Codebook Version 3 IGO Data for the 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
Other query functions:
igo_search()
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 IGO membership records for states
Description
Extracts IGO membership records for one or more states and years.
Usage
igo_state_membership(state, year = NULL, status = "Full Membership")
Arguments
state |
A state name or code, or a vector of names or codes, as specified in states2016. |
year |
An integer or vector of years to assess. If |
status |
A character vector of membership statuses to extract. See igo_year_format3 for valid statuses. |
Value
A data.frame with one row per matching state, year, IGO and
membership status.
Source
Codebook Version 3 IGO Data for the 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.
Other membership functions:
igo_dyadic(),
igo_members()
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)
# Use the latest available year.
igo_state_membership("ZAN")[, 1:7]
# Search by state code.
igo_state_membership("2", year = 1865)
# Extract multiple membership statuses.
igo_state_membership("kosovo", status = c(
"Associate Membership", "Observer",
"Full Membership"
))
# Vectorized search.
igo_state_membership(c("usa", "spain"), year = 1870:1871)
# Use the countrycode package to add 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)
}
IGO-year membership data
Description
Data on intergovernmental organizations (IGOs) from 1816 to 2014 at the IGO-year level. Each row represents one IGO in one year. Years are recorded at five-year intervals through 1965 and annually thereafter.
Format
A data.frame with
19,335 rows. Relevant
fields:
-
ioname: Short abbreviation for the IGO name. -
orgname: Full IGO name. -
year: Calendar year. -
afghanistan...zimbabwe: Membership status of each state in the IGO. See the Details section. -
sdate: Start year for the IGO. -
deaddate: End year for the IGO. -
longorgname: Longer IGO name, including previous names. -
ionum: IGO identifier in versions 2.1 and 3.0 of the data. -
version: Correlates of War version number.
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 |
Use igo_recode_igoyear() to recode the numerical values as
factors.
Note
Data distributed with igoR.
Source
Intergovernmental Organizations (version 3), IGO Data Stata Files from the Correlates of War Project.
See the Codebook Version 3 IGO Data for the 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
Other data sets:
state_year_format3,
states2016
Examples
data("igo_year_format3")
# Show a glimpse.
library(dplyr)
igo_year_format3 %>%
select(ioname:year, spain, france) %>%
filter(year > 1990) %>%
glimpse()
# Prepare a sample of numerical membership values.
sample_igo_year <- igo_year_format3 %>%
as_tibble() %>%
select(ioname:year, spain, france) %>%
filter(year == 1990)
sample_igo_year %>% glimpse()
# Recode the membership columns.
sample_igo_year_recoded <- sample_igo_year %>%
mutate(across(c(spain, france), igo_recode_igoyear))
sample_igo_year_recoded %>% glimpse()
Country-year IGO membership data
Description
Data on IGO membership from 1816 to 2014 at the country-year level. Each row represents one country in one year. Years are recorded at five-year intervals through 1965 and annually thereafter.
Format
A data.frame with
15,557 rows. Relevant
fields:
-
ccode: Correlates of War country number. See states2016. -
year: Calendar year. -
state: Abbreviated state name, identical to variable names in igo_year_format3. -
aaaid...wassen: IGO variables containing state membership status. See the Details section.
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 |
Use igo_recode_stateyear() to recode the numerical values as
factors.
See the Codebook Version 3 IGO Data.
Note
Data distributed with igoR.
Source
Intergovernmental Organizations (version 3), IGO Data Stata Files from the Correlates of War Project.
See the Codebook Version 3 IGO Data for the 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
countrycode::countrycode() to convert between different country code
schemes.
Other data sets:
igo_year_format3,
states2016
Examples
data("state_year_format3")
dplyr::tibble(state_year_format3)
State system membership (v2016)
Description
A list of states with Correlates of War abbreviations and identifiers, plus
the state field from state_year_format3.
Format
A data.frame with
243 rows. Relevant fields:
-
ccode: Correlates of War country number. -
stateabb: Three-character Correlates of War state abbreviation. -
statenme: Correlates of War 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 states in the international system as updated and distributed by the Correlates of War Project.
It identifies states, their standard Correlates of War country code or state number, 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 chargé 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 support 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 data sets:
igo_year_format3,
state_year_format3
Examples
data("states2016")
dplyr::glimpse(states2016)