Package {igoR}


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 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-08-25 09:50:12 UTC

igoR: Access the Intergovernmental Organizations ('IGO') Database

Description

logo

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:

Other contributors:

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:


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 NULL (the default), all IGOs are included. Use igo_search() to find valid identifiers.

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 igo_search() to find valid identifiers.

year

An integer or vector of years to assess. If NULL, the latest available year for each IGO is used.

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


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 NULL, all IGOs in igo_year_format3 are returned. Numeric identifiers are accepted.

exact

A logical value. If TRUE, pattern is anchored to require a complete match.

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

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:

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:

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:

ccode

Correlates of War state number.

stateabb

Correlates of War state abbreviation.

statenme

Primary Correlates of War state name.

styear

Beginning year of state tenure.

stmonth

Beginning month of state tenure.

stday

Beginning day of state tenure.

endyear

Ending year of state tenure.

endmonth

Ending month of state tenure.

endday

Ending day of state 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 2024 according to the following criteria:

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)