| Title: | Access the Intergovernmental Organizations ('IGO') Database |
| Version: | 1.1.0 |
| 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 (≥ 4.1.0) |
| Imports: | stats |
| Suggests: | countrycode (≥ 1.1.0), dplyr (≥ 1.0.2), ggplot2, knitr, quarto, testthat (≥ 3.3.0) |
| VignetteBuilder: | quarto |
| Config/Needs/website: | dieghernan/gitdevr, reactable, giscoR, devtools, remotes, cpp11, sessioninfo |
| Config/roxygen2/markdown: | TRUE |
| Config/roxygen2/version: | 8.1.0 |
| Config/testthat/edition: | 3 |
| 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-08-25 09:30:19 UTC; diego |
| Author: | Diego Hernangómez |
| Maintainer: | Diego Hernangómez <diego.hernangomezherrero@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-08-25 09:50:12 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 dyad-year joint IGO membership
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 a vector of states to compare. Each value can be any state name or Correlates of War code in states2024. |
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
states2024.
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 dyad-year selected by country1,
country2 and year that is available for both states.
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-year and one
column per selected IGO. See Details for the membership status
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
igo_recode_dyadic() to recode results, igo_search() to find IGO
identifiers, states2024 for state identifiers and state_year_format3
for the source membership data.
Extract IGO membership data:
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 by organization
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 from state-level IGO membership records. 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_search() to find IGO identifiers, igo_year_format3 for IGO-year
data and state_year_format3 for state-year membership data.
Extract IGO membership data:
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 status values
Description
Converts the numeric membership status values 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 numeric membership status value or vector of values to recode. |
Value
A factor with the recoded membership status values.
See Also
igo_year_format3, state_year_format3 and igo_dyadic() for the data
corresponding to each recoding function.
Examples
data("igo_year_format3")
# Recode membership status values for selected 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, years and other
metadata from the latest available IGO-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
igo_year_format3 for the IGO metadata being searched.
Search IGO and state metadata:
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 Correlates of War state codes, abbreviations and names
Description
Finds Correlates of War country 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 states2024. |
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
states2024 for state codes, abbreviations and names.
Search IGO and state metadata:
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 by state
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 states2024. |
year |
An integer or vector of years to assess. If |
status |
A character vector of membership statuses to extract from IGO-level state membership records. See igo_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_search_states() to find state identifiers, igo_year_format3 for
IGO-year membership data and states2024 for state metadata.
Extract IGO membership data:
igo_dyadic(),
igo_members()
Examples
# Memberships in selected years.
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 identifier 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
IGO data sets:
state_year_format3,
states2024
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 states2024. -
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.
IGO data sets:
igo_year_format3,
states2024
Examples
data("state_year_format3")
dplyr::tibble(state_year_format3)
State system membership (v2024)
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
244 rows and 11 variables:
ccodeCorrelates of War state number.
stateabbCorrelates of War state abbreviation.
statenmePrimary Correlates of War state name.
styearBeginning year of state tenure.
stmonthBeginning month of state tenure.
stdayBeginning day of state tenure.
endyearEnding year of state tenure.
endmonthEnding month of state tenure.
enddayEnding day of state tenure.
versionData file version number.
stateAbbreviated 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 2024 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 (v2024). The Correlates of War Project.
References
Correlates of War Project. 2025. "State System Membership, v2024." Online, https://correlatesofwar.org/.
See Also
IGO data sets:
igo_year_format3,
state_year_format3
Examples
data("states2024")
dplyr::glimpse(states2024)