Suparna Chaudhry • Department of
International Affairs • Lewis & Clark College
Andrew Heiss • Andrew Young School of
Policy Studies • Georgia State University
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:
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
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:
- 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):
- 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
- Open
cautioning-canary.Rproj
to open an RStudio Project. - 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 runningtinytex::install_tinytex()
- Easy-but-requires-huge-4+-GB-download way: Download TeX Live (macOS; Windows)
- Easy-and-recommended way: Install the tinytex
package by running
- 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. - Run
renv::restore()
in the R console to install all the required packages for this project. - 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:
- All project data in
data/
- An analysis notebook website in
analysis/_site/index.html
- PDF, HTML, and Word versions of the manuscript in
manuscript/output/
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:
data/derived_data/panel.csv
anddata/derived_data/panel.rds
: CSV and RDS versions of our final combined datasetdata/derived_data/panel_lagged.csv
anddata/derived_data/panel_lagged.rds
: CSV and RDS versions of our final combined dataset with lagged and leaded versions of variables
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:
- GDP at constant 2015
prices
(
data/raw_data/UN data/UNdata_Export_20210118_034054729.csv
) - GDP at current
prices
(
data/raw_data/UN data/UNdata_Export_20210118_034311252.csv
) - Population
(
data/raw_data/UN data/WPP2019_POP_F01_1_TOTAL_POPULATION_BOTH_SEXES.xlsx
)
- GDP at constant 2015
prices
(
- 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 asindex_2021-03-19.html
. We then extracted theCOUNTRIES_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.)
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.)
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.
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.