Package {igoR}


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 ORCID iD [aut, cre, cph], The Correlates of War Project [cph] (for the data)
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

logo

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:

Other contributors:

See Also

Useful links:


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. ioname or vector of ioname corresponding to the IGOs to assess. If NULL (the default), all IGOs will be extracted. See codes in igo_search().

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 ioname for an IGO as specified in igo_year_format3. This can also be a vector of IGOs.

year

Year to assess, as an integer or vector of years. If NULL, the latest year available for the IGO is extracted.

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()


Description

Search for any IGO by name or string pattern.

Usage

igo_search(pattern = NULL, exact = FALSE)

Arguments

pattern

regex pattern. If NULL, the function returns a data set with all IGOs in igo_year_format3. Integer values are accepted.

exact

Logical. When TRUE, only exact matches are returned.

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

igo_year_format3.

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

states2016.

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 NULL, the latest year available for the state is extracted.

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:

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:

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:

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:

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)