This is the replication archive for the dissertation

“Buying Democracy? The Political Economy of Foreign Aid, Power-Sharing Cabinets, and Post-Conflict Political Development”

by Felix Haass. This archive contains all the R and Stata code necessary to replicate the figures and tables in my dissertation.

Replication

There are two basic ways to replicate the analyses in this dissertation: replication of a chapter or replication of individual tables/figures.

Replicate Chapter

At the top of each page, in the upper right corner, you’ll find a “Code” button that allows you download all code pieces in the respective chapter page in a single file:

 

 

This will save an .Rmd file of the chapter which contains the code to replicate all figures/table in the respective chapter. Note that the code assumes the existence of a ./data/ and a /functions/ subfolder within the folder in which the chapter .Rmd file is saved. The data folder contains all the data files necessary for analysis and the functions folder contains additional functions necessary. Both folder can be downloaded here.

Your file structure should look like this (where downloaded_file.Rmd is a placeholder for the file name of the chapter file):

|-- downloaded_file.Rmd
|-- ./data/
    |-- [... data files ...]
|-- ./functions/
    |-- [... function files ...]

Now, open the downloaded_file.Rmd in RStudio, make sure your working directory is the same directory as the downloaded_file.Rmd file and hit ctrl + shift + k.

Replicate Individual Figure/Table

To display and/or download the code that produced a specific figure/table, click on the button “Code” on the upper left side of the plot/table.

You can then copy and paste the code into your local R editor. Again, that the code assumes the existence of a ./data/ and a /functions/ subfolder within the folder in which the chapter .Rmd file is saved. The data folder contains all the data files necessary for analysis and the functions folder contains additional functions necessary. Both folder can be downloaded here.

Necessary Packages

You’ll need to install the following packages to properly run the code in this replication file (they will be loaded automatically, but need to be installed):

# Data management
install.packages("dplyr")
install.packages("tidyr")
install.packages("readr")
install.packages("readxl")
install.packages("plyr")
install.packages("countrycode")
install.packages("forcats")
install.packages("tidyverse")
install.packages("foreign")
install.packages("pastecs")

# Modelling
install.packages("rms")
install.packages("MatchIt")
install.packages("AER")
install.packages("plm")

# Plotting
install.packages("Cairo")
install.packages("ggplot2")
install.packages("cowplot")
install.packages("gridExtra")
install.packages("sparktex")

# Output
install.packages("texreg")
install.packages("xtable")
install.packages("tikzDevice")

Platform Information

The analysis was performed on the following platform and R version:

sessionInfo()
## R version 3.2.3 (2015-12-10)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 7 x64 (build 7601) Service Pack 1
## 
## locale:
## [1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
## [3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
## [5] LC_TIME=German_Germany.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] rio_0.4.12       Matching_4.9-2   ebal_0.1-6       forcats_0.1.0   
##  [5] sparktex_0.1     pastecs_1.3-18   boot_1.3-17      GGally_1.3.0    
##  [9] lubridate_1.5.0  ivpack_1.2       AER_1.2-4        sandwich_2.3-4  
## [13] lmtest_0.9-35    zoo_1.7-14       car_2.1-1        xtable_1.8-0    
## [17] ggrepel_0.6.5    MatchIt_2.4-21   MASS_7.3-45      readxl_0.1.0    
## [21] plm_1.5-12       reshape_0.8.5    Cairo_1.5-9      gridExtra_2.0.0 
## [25] lfe_2.5-1998     Matrix_1.2-3     tikzDevice_0.9   cowplot_0.6.2   
## [29] countrycode_0.18 foreign_0.8-66   dplyr_0.5.0      purrr_0.2.2     
## [33] readr_1.0.0      tidyr_0.6.0      tibble_1.2       tidyverse_1.0.0 
## [37] rms_4.5-0        SparseM_1.7      Hmisc_3.17-3     ggplot2_2.2.1   
## [41] Formula_1.2-1    survival_2.38-3  lattice_0.20-33  texreg_1.36.23  
## 
## loaded via a namespace (and not attached):
##  [1] nlme_3.1-126        pbkrtest_0.4-6      RColorBrewer_1.1-2 
##  [4] rprojroot_1.1       tools_3.2.3         backports_1.0.4    
##  [7] R6_2.1.2            rpart_4.1-10        DBI_0.4-1          
## [10] lazyeval_0.2.0      mgcv_1.8-9          colorspace_1.3-2   
## [13] nnet_7.3-11         curl_0.9.6          chron_2.3-47       
## [16] quantreg_5.19       xml2_1.0.0          triebeard_0.3.0    
## [19] scales_0.4.1        polspline_1.1.12    mvtnorm_1.0-4      
## [22] readODS_1.6.2       stringr_1.1.0       digest_0.6.12      
## [25] minqa_1.2.4         rmarkdown_1.2       base64enc_0.1-3    
## [28] htmltools_0.3.5     lme4_1.1-11         jsonlite_0.9.19    
## [31] acepack_1.3-3.3     magrittr_1.5        Rcpp_0.12.9        
## [34] munsell_0.4.3       stringi_1.1.2       multcomp_1.4-2     
## [37] yaml_2.1.13         plyr_1.8.4          grid_3.2.3         
## [40] parallel_3.2.3      bdsmatrix_1.3-2     haven_1.0.0        
## [43] splines_3.2.3       knitr_1.15.1        csvy_0.1.3         
## [46] codetools_0.2-14    evaluate_0.10       latticeExtra_0.6-26
## [49] data.table_1.9.6    nloptr_1.0.4        urltools_1.5.1     
## [52] cellranger_1.1.0    MatrixModels_0.4-1  gtable_0.2.0       
## [55] assertthat_0.1      openxlsx_3.0.0      filehash_2.3       
## [58] cluster_2.0.3       TH.data_1.0-7
LS0tDQp0aXRsZTogIlJlcGxpY2F0aW9uIEFyY2hpdmUiDQpvdXRwdXQ6IA0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogdHJ1ZQ0KICAgIHRvY19kZXB0aDogNA0KICAgIHRvY19mbG9hdDogDQogICAgICBjb2xsYXBzZWQ6IGZhbHNlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KLS0tDQogIA0KVGhpcyBpcyB0aGUgcmVwbGljYXRpb24gYXJjaGl2ZSBmb3IgdGhlIGRpc3NlcnRhdGlvbiANCg0KPiJCdXlpbmcgRGVtb2NyYWN5PyBUaGUgUG9saXRpY2FsIEVjb25vbXkgb2YgRm9yZWlnbiBBaWQsIFBvd2VyLVNoYXJpbmcgQ2FiaW5ldHMsIGFuZCBQb3N0LUNvbmZsaWN0IFBvbGl0aWNhbCBEZXZlbG9wbWVudCINCg0KYnkgW0ZlbGl4IEhhYXNzXShodHRwOi8vZmVsaXhoYWFzcy5naXRodWIuaW8pLiBUaGlzIGFyY2hpdmUgY29udGFpbnMgYWxsIHRoZSBgUmAgYW5kIGBTdGF0YWAgY29kZSBuZWNlc3NhcnkgdG8gcmVwbGljYXRlIHRoZSBmaWd1cmVzIGFuZCB0YWJsZXMgaW4gbXkgZGlzc2VydGF0aW9uLiANCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0UsIGVjaG8gPSBGfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGRldj0nQ2Fpcm9QTkcnKQ0KYGBgDQoNCiMgTmF2aWdhdGlvbg0KDQpVc2UgdGhlIGxpbmtzIG9uIHRoZSB0b3Agb2YgdGhlIHBhZ2UgdG8gbmF2aWdhdGUgdG8gdGhlIHdlYnNpdGUgZm9yIGVhY2ggY2hhcHRlci4gSWYgeW91IGNsaWNrIG9uICJDaGFwdGVycyIsIGEgZHJvcCBkb3duIG1lbnUgbGlzdHMgYWxsIHRoZSBjaGFwdGVycyB0aGF0IGNvbnRhaW4gdGFibGVzIGFuZC9vciBwbG90cyBjcmVhdGVkIGZyb20gZGF0YS4gT24gZWFjaCBjaGFwdGVyIHNpdGUsIHlvdSdsbCBmaW5kIGZpZ3VyZXMgYW5kIHRhYmxlcyBudW1iZXJlZCBhY2NvcmRpbmcgdG8gdGhlaXIgbGFiZWwgaW4gdGhlIHRleHQuIEVhY2ggY2hhcHRlciBzaXRlIGhhcyBhIHNpZGViYXIgdG8gbmF2aWdhdGUgYmV0d2VlbiB0aGUgY2hhcHRlcidzIGluZGl2aWR1YWwgdGFibGVzL2dyYXBocyBhbmQgdGhlIHJlc3BlY3RpdmUgY29kZSB1c2VkIHRvIGdlbmVyYXRlIHRoZW0uDQoNCiMgUmVwbGljYXRpb24NCg0KVGhlcmUgYXJlIHR3byBiYXNpYyB3YXlzIHRvIHJlcGxpY2F0ZSB0aGUgYW5hbHlzZXMgaW4gdGhpcyBkaXNzZXJ0YXRpb246IHJlcGxpY2F0aW9uIG9mIGEgY2hhcHRlciBvciByZXBsaWNhdGlvbiBvZiBpbmRpdmlkdWFsIHRhYmxlcy9maWd1cmVzLg0KDQojIyBSZXBsaWNhdGUgQ2hhcHRlcg0KDQpBdCB0aGUgdG9wIG9mIGVhY2ggcGFnZSwgaW4gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lciwgeW91J2xsIGZpbmQgYSAiQ29kZSIgYnV0dG9uIHRoYXQgYWxsb3dzIHlvdSBkb3dubG9hZCAqYWxsKiBjb2RlIHBpZWNlcyBpbiB0aGUgcmVzcGVjdGl2ZSBjaGFwdGVyIHBhZ2UgaW4gYSBzaW5nbGUgZmlsZToNCg0KPHA+ICZuYnNwOyA8L3A+DQoNCjxjZW50ZXI+DQo8aW1nIHNyYz0iLi9pbWFnZXMvbmF2aWdhdGlvbjEucG5nIiBhbHQ9IiIgc3R5bGU9IndpZHRoOiA2MDBweDsiLz4NCjwvY2VudGVyPg0KDQo8cD4gJm5ic3A7IDwvcD4NCg0KVGhpcyB3aWxsIHNhdmUgYW4gYC5SbWRgIGZpbGUgb2YgdGhlIGNoYXB0ZXIgd2hpY2ggY29udGFpbnMgdGhlIGNvZGUgdG8gcmVwbGljYXRlIGFsbCBmaWd1cmVzL3RhYmxlIGluIHRoZSByZXNwZWN0aXZlIGNoYXB0ZXIuIE5vdGUgdGhhdCB0aGUgY29kZSBhc3N1bWVzIHRoZSBleGlzdGVuY2Ugb2YgYSBgLi9kYXRhL2AgYW5kIGEgYC9mdW5jdGlvbnMvYCBzdWJmb2xkZXIgd2l0aGluIHRoZSBmb2xkZXIgaW4gd2hpY2ggdGhlIGNoYXB0ZXIgYC5SbWRgIGZpbGUgaXMgc2F2ZWQuIFRoZSBkYXRhIGZvbGRlciBjb250YWlucyBhbGwgdGhlIGRhdGEgZmlsZXMgbmVjZXNzYXJ5IGZvciBhbmFseXNpcyBhbmQgdGhlIGZ1bmN0aW9ucyBmb2xkZXIgY29udGFpbnMgYWRkaXRpb25hbCBmdW5jdGlvbnMgbmVjZXNzYXJ5LiBCb3RoIGZvbGRlciBjYW4gYmUgZG93bmxvYWRlZCBbaGVyZV0oLi9kYXRhLmh0bWwpLiANCg0KWW91ciBmaWxlIHN0cnVjdHVyZSBzaG91bGQgbG9vayBsaWtlIHRoaXMgKHdoZXJlIGBkb3dubG9hZGVkX2ZpbGUuUm1kYCBpcyBhIHBsYWNlaG9sZGVyIGZvciB0aGUgZmlsZSBuYW1lIG9mIHRoZSBjaGFwdGVyIGZpbGUpOg0KDQpgYGB7YmFzaCwgZXZhbCA9IEZ9DQp8LS0gZG93bmxvYWRlZF9maWxlLlJtZA0KfC0tIC4vZGF0YS8NCiAgICB8LS0gWy4uLiBkYXRhIGZpbGVzIC4uLl0NCnwtLSAuL2Z1bmN0aW9ucy8NCiAgICB8LS0gWy4uLiBmdW5jdGlvbiBmaWxlcyAuLi5dDQoNCg0KYGBgDQoNCk5vdywgb3BlbiB0aGUgYGRvd25sb2FkZWRfZmlsZS5SbWRgIGluIFJTdHVkaW8sIG1ha2Ugc3VyZSB5b3VyIHdvcmtpbmcgZGlyZWN0b3J5IGlzIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUgYGRvd25sb2FkZWRfZmlsZS5SbWRgIGZpbGUgYW5kIGhpdCA8a2JkPmN0cmw8L2tiZD4gKyA8a2JkPnNoaWZ0PC9rYmQ+ICsgPGtiZD5rPC9rYmQ+Lg0KDQojIyBSZXBsaWNhdGUgSW5kaXZpZHVhbCBGaWd1cmUvVGFibGUNCg0KVG8gZGlzcGxheSBhbmQvb3IgZG93bmxvYWQgdGhlIGNvZGUgdGhhdCBwcm9kdWNlZCBhIHNwZWNpZmljIGZpZ3VyZS90YWJsZSwgY2xpY2sgb24gdGhlIGJ1dHRvbiAiQ29kZSIgb24gdGhlIHVwcGVyIGxlZnQgc2lkZSBvZiB0aGUgcGxvdC90YWJsZS4NCg0KWW91IGNhbiB0aGVuIGNvcHkgYW5kIHBhc3RlIHRoZSBjb2RlIGludG8geW91ciBsb2NhbCBgUmAgZWRpdG9yLiBBZ2FpbiwgdGhhdCB0aGUgY29kZSBhc3N1bWVzIHRoZSBleGlzdGVuY2Ugb2YgYSBgLi9kYXRhL2AgYW5kIGEgYC9mdW5jdGlvbnMvYCBzdWJmb2xkZXIgd2l0aGluIHRoZSBmb2xkZXIgaW4gd2hpY2ggdGhlIGNoYXB0ZXIgYC5SbWRgIGZpbGUgaXMgc2F2ZWQuIFRoZSBkYXRhIGZvbGRlciBjb250YWlucyBhbGwgdGhlIGRhdGEgZmlsZXMgbmVjZXNzYXJ5IGZvciBhbmFseXNpcyBhbmQgdGhlIGZ1bmN0aW9ucyBmb2xkZXIgY29udGFpbnMgYWRkaXRpb25hbCBmdW5jdGlvbnMgbmVjZXNzYXJ5LiBCb3RoIGZvbGRlciBjYW4gYmUgZG93bmxvYWRlZCBbaGVyZV0oLi9kYXRhLmh0bWwpLiANCg0KIyBOZWNlc3NhcnkgUGFja2FnZXMNCg0KWW91J2xsIG5lZWQgdG8gaW5zdGFsbCB0aGUgZm9sbG93aW5nIHBhY2thZ2VzIHRvIHByb3Blcmx5IHJ1biB0aGUgY29kZSBpbiB0aGlzIHJlcGxpY2F0aW9uIGZpbGUgKHRoZXkgd2lsbCBiZSBsb2FkZWQgYXV0b21hdGljYWxseSwgYnV0IG5lZWQgdG8gYmUgaW5zdGFsbGVkKToNCg0KYGBge3IsIGV2YWw9Rn0NCg0KIyBEYXRhIG1hbmFnZW1lbnQNCmluc3RhbGwucGFja2FnZXMoImRwbHlyIikNCmluc3RhbGwucGFja2FnZXMoInRpZHlyIikNCmluc3RhbGwucGFja2FnZXMoInJlYWRyIikNCmluc3RhbGwucGFja2FnZXMoInJlYWR4bCIpDQppbnN0YWxsLnBhY2thZ2VzKCJwbHlyIikNCmluc3RhbGwucGFja2FnZXMoImNvdW50cnljb2RlIikNCmluc3RhbGwucGFja2FnZXMoImZvcmNhdHMiKQ0KaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikNCmluc3RhbGwucGFja2FnZXMoImZvcmVpZ24iKQ0KaW5zdGFsbC5wYWNrYWdlcygicGFzdGVjcyIpDQoNCiMgTW9kZWxsaW5nDQppbnN0YWxsLnBhY2thZ2VzKCJybXMiKQ0KaW5zdGFsbC5wYWNrYWdlcygiTWF0Y2hJdCIpDQppbnN0YWxsLnBhY2thZ2VzKCJBRVIiKQ0KaW5zdGFsbC5wYWNrYWdlcygicGxtIikNCg0KIyBQbG90dGluZw0KaW5zdGFsbC5wYWNrYWdlcygiQ2Fpcm8iKQ0KaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpDQppbnN0YWxsLnBhY2thZ2VzKCJjb3dwbG90IikNCmluc3RhbGwucGFja2FnZXMoImdyaWRFeHRyYSIpDQppbnN0YWxsLnBhY2thZ2VzKCJzcGFya3RleCIpDQoNCiMgT3V0cHV0DQppbnN0YWxsLnBhY2thZ2VzKCJ0ZXhyZWciKQ0KaW5zdGFsbC5wYWNrYWdlcygieHRhYmxlIikNCmluc3RhbGwucGFja2FnZXMoInRpa3pEZXZpY2UiKQ0KDQpgYGANCg0KIyBQbGF0Zm9ybSBJbmZvcm1hdGlvbg0KDQpUaGUgYW5hbHlzaXMgd2FzIHBlcmZvcm1lZCBvbiB0aGUgZm9sbG93aW5nIHBsYXRmb3JtIGFuZCBgUmAgdmVyc2lvbjoNCg0KYGBge3J9DQpzZXNzaW9uSW5mbygpDQpgYGANCg0KDQo=