Skip to content

andrewheiss/cautioning-canary

Repository files navigation

NGO Repression as a Predictor of Worsening Human Rights Abuses

Suparna Chaudhry • Department of International Affairs • Lewis & Clark College
Andrew Heiss • Andrew Young School of Policy Studies • Georgia State University


OSF DOI DOI

Suparna Chaudhry and Andrew Heiss. 2022. “NGO Repression as a Predictor of Worsening Human Rights Abuses,” Journal of Human Rights (forthcoming).

All this project’s materials are free and open:

Open dataOpen


Abstract

An increasing number of countries have recently cracked down on non-governmental organizations (NGOs). Much of this crackdown is sanctioned by law and represents a bureaucratic form of repression that could indicate more severe human rights abuses in the future. This is especially the case for democracies, which unlike autocracies, may not aggressively attack civic space. We explore if crackdowns on NGOs predict broader human rights repression. Anti-NGO laws are among the most subtle means of repression and attract lesser domestic and international condemnation compared to the use of violence. Using original data on NGO repression, we test whether NGO crackdown is a predictor of political terror, and violations of physical integrity rights and civil liberties. We find that while de jure anti-NGO laws provide little information in predicting future repression, their patterns of implementation—or de facto civil society repression—predicts worsening respect for physical integrity rights and civil liberties.


This repository contains the data and code for our paper. Our pre-print is online here:

Suparna Chaudhry and Andrew Heiss. 2022. “NGO Repression as a Predictor of Worsening Human Rights Abuses”“. Accessed January 5, 2022. Online at https://dx.doi.org/10.17605/OSF.IO/MTR6X

How to download and replicate

You can either download the compendium as a ZIP file or use GitHub to clone or fork the compendium repository (see the green “Clone or download” button at the top of the GitHub page).

We use the renv package to create a stable version-specific library of packages, and we use the targets package to manage all file dependencies and run the analysis. (See this for a short helpful walkthrough of targets.).

To reproduce the findings and re-run the analysis, do the following:

  1. Download and install these fonts (if you’re using Windows, make sure you right click on the font files and choose “Install for all users” when installing these fonts):
  2. Install R (and preferably RStudio).
    • If you’re using macOS, install XQuartz too, so that you have access to the Cairo graphics library
    • If you’re using Windows, install RTools too and add it to your PATH so that you can install packages from source if needed
  3. Open cautioning-canary.Rproj to open an RStudio Project.
  4. Make sure you have a working installation of LaTeX:
    • Easy-and-recommended way: Install the tinytex package by running install.packages("tinytex") in the R console, then running tinytex::install_tinytex()
    • Easy-but-requires-huge-4+-GB-download way: Download TeX Live (macOS; Windows)
  5. If it’s not installed already, R should try to install the renv package when you open the RStudio Project for the first time. If you don’t see a message about package installation, install it yourself by running install.packages("renv") in the R console.
  6. Run renv::restore() in the R console to install all the required packages for this project.
  7. Run targets::tar_make() in the R console to automatically download all data files, process the data, run the analysis, and compile the paper and appendix.

Running targets::tar_make() will create several helpful outputs:

  1. All project data in data/
  2. An analysis notebook website in analysis/_site/index.html
  3. PDF, HTML, and Word versions of the manuscript in manuscript/output/

Data

NB: If you’re reproducing this project, it is best if you rely on the targets package and all the functions in R/funs_data-cleaning.R to handle the cleaning, processing, tidying, and merging. All the analysis in the project depends on having a targets-created object named panel.

For reference, though, we export CSV and RDS files of the final dataset:

This data is derived from many different original data sources. See the “Process and merge data” page of our analysis notebook for details about both the original data and the merging process.

  • Chaudhry NGO restrictions: We use counts of anti-NGO legal barriers from the replication data for Suparna Chaudhry’s “The Assault on Civil Society: Explaining State Repression of NGOs” (International Organization, 2022).
    • data/raw_data/Chaudhry restrictions/SC_Expanded.dta
  • Political Terror Scores: We use data from the Political Terror Scale (PTS) project to measure state repression. This project uses reports from the US State Department, Amnesty International, and Human Rights Watch and codes political repression on a scale of 1-5.
    • data/raw_data/Political Terror Scale/PTS-2019.RData, v2019
  • Latent Human Rights Protection Scores: We use Chris Fariss’s Latent Human Rights Protection Scores, which are estimates from fancy Bayesian models that capture a country’s respect for physical integrity rights.
    • data/raw_data/Latent Human Rights Protection Scores/HumanRightsProtectionScores_v4.01.csv, v4.01
  • Varieties of Democracy data: We use a bunch of variables from the Varieties of Democracy (V-Dem) project.
    • data/raw_data/Country_Year_V-Dem_Full+others_R_v10/V-Dem-CY-Full+Others-v10.rds, v10
  • UN data: We use the WDI package to collect data from the World Bank. However, we don’t use WDI data for GDP and % of GDP from trade because the WDI data is incomplete (especially pre-1990, but that’s not an issue in this project) To get around that, we create our own GDP and trade measures using data directly from the UN (at UNData). They don’t have a neat API like the World Bank, so you have to go to their website and export the data manually. We collect three variables:
  • UCDP/PRIO Armed Conflict Data: We use UCDP/PRIO Armed Conflict data to create an indicator marking if a country-year was involved in armed conflict that resulted in at least 25 battle-related deaths.
    • data/raw_data/UCDP PRIO/ucdp-prio-acd-191.csv, v19.1
  • Natural Earth shapefiles: We use the “Admin 0 - Countries” 1:110m cultural shapefiles for maps.
    • data/raw_data/ne_110m_admin_0_countries/
  • 2020 Civicus Monitor ratings: CIVICUS rates countries using a 5-item scale of civic space openness, but getting their data in a machine-readable format is a little tricky. We downloaded the standalone embeddable widget as an HTML file with wget https://monitor.civicus.org/widgets/world/ and saved it as index_2021-03-19.html. We then extracted the COUNTRIES_DATA variable embedded in a <script> tag (xpath = /html/body/script[5]), which is JSON-ish, but not quite. The jsonlite R package couldn’t parse it for whatever reason, but some random online JSON formatter and validator could, so we ran it through that and saved the resulting clean file.
    • data/raw_data/Civicus/index_2021-03-19.html
    • data/raw_data/Civicus/civicus_2021-03-19.json

BUT AGAIN we highly recommend just relying on the targets pipeline to construct this data rather than doing it all yourself! (See this for a short helpful walkthrough.)

⚠️🐦: “Cautioning canary” project name

Because project titles change all the time with revisions, rewriting, and peer review, we use “cautioning canary” as an internal-to-us project name that won’t change. (We chose this name before the codename was invented—had it existed already, we would have used that to generate the name.)

Licenses

Text and figures: All prose and images are licensed under Creative Commons (CC-BY-4.0)

Code: All code is licensed under the MIT License.

Contributions

We welcome contributions from everyone. Before you get started, please see our contributor guidelines. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.