├── .Rprofile ├── .gitattributes ├── .gitignore ├── CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── R ├── funs_data-cleaning.R ├── funs_details.R ├── funs_models-iptw.R ├── funs_notebook.R ├── graphics.R ├── misc.R ├── models_oda.R ├── models_purpose.R └── models_recipients.R ├── README.md ├── README.qmd ├── _extensions └── quarto-ext │ └── fontawesome │ ├── _extension.yml │ ├── assets │ ├── css │ │ ├── all.css │ │ └── latex-fontsize.css │ └── webfonts │ │ ├── fa-brands-400.ttf │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.ttf │ │ ├── fa-regular-400.woff2 │ │ ├── fa-solid-900.ttf │ │ ├── fa-solid-900.woff2 │ │ ├── fa-v4compatibility.ttf │ │ └── fa-v4compatibility.woff2 │ └── fontawesome.lua ├── _freeze └── notebook │ ├── causal-model │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── full-giant-dag-1.png │ │ ├── simple-dag-1.png │ │ ├── simple-dag-letters-1.png │ │ └── simplerish-dag-1.png │ ├── design-details │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── show-emrld-1.png │ │ ├── show-peach-1.png │ │ ├── show-prism-1.png │ │ ├── show-prism-short-1.png │ │ ├── show-purpor-1.png │ │ ├── show-sunset-1.png │ │ └── show-teal-1.png │ ├── estimands │ └── execute-results │ │ └── html.json │ ├── general-analysis │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── advocacy-laws-1.png │ │ ├── aid-by-contention-1.png │ │ ├── aid-by-donor-1.png │ │ ├── ccsi-aid-allhs-1.png │ │ ├── civicus-map-1.png │ │ ├── compulsory-vs-burdensome-1.png │ │ ├── plot-aid-channels-1.png │ │ ├── plot-all-channels-1.png │ │ ├── plot-all-dvs-1.png │ │ ├── plot-channels-post-2000-1.png │ │ ├── plot-contentious-aid-1.png │ │ ├── plot-oecd-aid-1.png │ │ ├── plot-us-aid-1.png │ │ ├── restrictions-aid-h1-1.png │ │ ├── restrictions-aid-h2-1.png │ │ └── restrictions-aid-h3-1.png │ ├── get-merge-data │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── data-missing-countries-1.png │ │ ├── data-missing-countries-sans-laws-1.png │ │ ├── final-data-missing-countries-1.png │ │ ├── final-data-missing-donors-1.png │ │ └── vdem-civil-society-index-1.png │ ├── manuscript │ └── execute-results │ │ └── html.json │ ├── model-details │ └── execute-results │ │ └── html.json │ ├── model-tricky-outcomes │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── plot-all-prop-contentious-1.png │ │ ├── plot-all-prop-ngo-domestic-1.png │ │ ├── plot-all-prop-ngo-foreign-1.png │ │ ├── plot-country-lines-hu-1.png │ │ ├── plot-country-lines-zi-1.png │ │ ├── plot-hu-all-parts-1.png │ │ ├── plot-hu-conditional-mfx-1.png │ │ ├── plot-hu-conditional-mfx-all-1.png │ │ ├── plot-hu-conditional-predictions-1.png │ │ ├── plot-hu-epred-1.png │ │ ├── plot-hu-linpred-1.png │ │ ├── plot-hu-trace-1.png │ │ ├── plot-hu-trank-1.png │ │ ├── plot-hurdle-priors-1.png │ │ ├── plot-marginal-mfx-both-hu-1.png │ │ ├── plot-marginal-mfx-both-zi-1.png │ │ ├── plot-oda-over-time-highlight-1.png │ │ ├── plot-pp-check-hu-1.png │ │ ├── plot-pp-check-zi-1.png │ │ ├── plot-prop-zero-hu-1.png │ │ ├── plot-prop-zero-zi-1.png │ │ ├── plot-prop-zeros-over-time-1.png │ │ ├── plot-prop-zeros-over-time-zi-1.png │ │ ├── plot-zero-oda-1.png │ │ ├── plot-zero-props-1.png │ │ ├── plot-zi-all-parts-1.png │ │ ├── plot-zi-conditional-mfx-1.png │ │ ├── plot-zi-conditional-mfx-all-1.png │ │ ├── plot-zi-conditional-predictions-1.png │ │ ├── plot-zi-epred-1.png │ │ ├── plot-zi-linpred-1.png │ │ ├── plot-zi-phi-1.png │ │ ├── plot-zi-priors-1.png │ │ ├── plot-zi-trace-1.png │ │ ├── plot-zi-trank-1.png │ │ ├── prior-simulations-hurdle-1.png │ │ ├── prior-simulations-zi-1.png │ │ ├── rho-dist-hu-1.png │ │ └── rho-dist-zi-1.png │ ├── models_aid-contentiousness │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── h2-check-denominator-1.png │ │ ├── h2-check-denominator-2.png │ │ ├── h2-check-outcome-1.png │ │ ├── h2-conditional-effects-1.png │ │ ├── h2-conditional-effects-2.png │ │ ├── h2-conditional-effects-3.png │ │ ├── h2-conditional-effects-4.png │ │ ├── h2-plots-defacto-1.png │ │ ├── h2-plots-dejure-1.png │ │ ├── iptws-advocacy-1.png │ │ ├── iptws-ccsi-1.png │ │ ├── iptws-entry-1.png │ │ ├── iptws-funding-1.png │ │ ├── iptws-total-oda-1.png │ │ ├── plot-cfx-mfx-advocacy-1.png │ │ ├── plot-cfx-mfx-ccsi-1.png │ │ ├── plot-cfx-mfx-combined-1.png │ │ ├── plot-cfx-mfx-defacto-1.png │ │ ├── plot-cfx-mfx-entry-1.png │ │ ├── plot-cfx-mfx-funding-1.png │ │ ├── plot-cfx-mfx-repress-1.png │ │ ├── plot-cfx-mfx-total-1.png │ │ ├── plot-cfx-predictions-combined-1.png │ │ ├── plot-cfx-predictions-defacto-1.png │ │ ├── plot-cfx-range-advocacy-1.png │ │ ├── plot-cfx-range-ccsi-1.png │ │ ├── plot-cfx-range-entry-1.png │ │ ├── plot-cfx-range-funding-1.png │ │ ├── plot-cfx-range-repress-1.png │ │ ├── plot-cfx-range-total-1.png │ │ ├── plot-denom-ppcheck-1.png │ │ ├── plot-denom-trace-1.png │ │ ├── plot-denom-trank-1.png │ │ ├── plot-iptws-advocacy-1.png │ │ ├── plot-iptws-ccsi-1.png │ │ ├── plot-iptws-csrepress-1.png │ │ ├── plot-iptws-entry-1.png │ │ ├── plot-iptws-funding-1.png │ │ ├── plot-iptws-total-oda-1.png │ │ ├── plot-iptws-total-purpose-1.png │ │ ├── plot-num-ppcheck-1.png │ │ ├── plot-num-trace-1.png │ │ ├── plot-num-trank-1.png │ │ ├── plot-outcome-ppcheck-1.png │ │ ├── plot-outcome-priors-1.png │ │ ├── plot-outcome-trace-1.png │ │ ├── plot-outcome-trank-1.png │ │ ├── plot-prop-zero-zi-1.png │ │ ├── plot-weight-priors-1.png │ │ ├── plot-zero-purpose-1.png │ │ └── plot-zi-phi-1.png │ ├── models_aid-recipients │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── plot-cfx-mfx-advocacy-dom-1.png │ │ ├── plot-cfx-mfx-advocacy-foreign-1.png │ │ ├── plot-cfx-mfx-ccsi-dom-1.png │ │ ├── plot-cfx-mfx-ccsi-foreign-1.png │ │ ├── plot-cfx-mfx-combined-dom-1.png │ │ ├── plot-cfx-mfx-combined-foreign-1.png │ │ ├── plot-cfx-mfx-defacto-dom-1.png │ │ ├── plot-cfx-mfx-defacto-foreign-1.png │ │ ├── plot-cfx-mfx-entry-dom-1.png │ │ ├── plot-cfx-mfx-entry-foreign-1.png │ │ ├── plot-cfx-mfx-funding-dom-1.png │ │ ├── plot-cfx-mfx-funding-foreign-1.png │ │ ├── plot-cfx-mfx-repress-dom-1.png │ │ ├── plot-cfx-mfx-repress-foreign-1.png │ │ ├── plot-cfx-mfx-total-dom-1.png │ │ ├── plot-cfx-mfx-total-foreign-1.png │ │ ├── plot-cfx-predictions-combined-dom-1.png │ │ ├── plot-cfx-predictions-combined-foreign-1.png │ │ ├── plot-cfx-predictions-defacto-dom-1.png │ │ ├── plot-cfx-predictions-defacto-foreign-1.png │ │ ├── plot-cfx-range-advocacy-dom-1.png │ │ ├── plot-cfx-range-advocacy-foreign-1.png │ │ ├── plot-cfx-range-ccsi-dom-1.png │ │ ├── plot-cfx-range-ccsi-foreign-1.png │ │ ├── plot-cfx-range-entry-dom-1.png │ │ ├── plot-cfx-range-entry-foreign-1.png │ │ ├── plot-cfx-range-funding-dom-1.png │ │ ├── plot-cfx-range-funding-foreign-1.png │ │ ├── plot-cfx-range-repress-dom-1.png │ │ ├── plot-cfx-range-repress-foreign-1.png │ │ ├── plot-cfx-range-total-dom-1.png │ │ ├── plot-cfx-range-total-foreign-1.png │ │ ├── plot-denom-ppcheck-1.png │ │ ├── plot-denom-trace-1.png │ │ ├── plot-denom-trank-1.png │ │ ├── plot-iptws-advocacy-1.png │ │ ├── plot-iptws-advocacy-dom-1.png │ │ ├── plot-iptws-advocacy-foreign-1.png │ │ ├── plot-iptws-ccsi-1.png │ │ ├── plot-iptws-ccsi-dom-1.png │ │ ├── plot-iptws-ccsi-foreign-1.png │ │ ├── plot-iptws-csrepress-1.png │ │ ├── plot-iptws-csrepress-dom-1.png │ │ ├── plot-iptws-csrepress-foreign-1.png │ │ ├── plot-iptws-entry-1.png │ │ ├── plot-iptws-entry-dom-1.png │ │ ├── plot-iptws-entry-foreign-1.png │ │ ├── plot-iptws-funding-1.png │ │ ├── plot-iptws-funding-dom-1.png │ │ ├── plot-iptws-funding-foreign-1.png │ │ ├── plot-iptws-total-oda-dom-1.png │ │ ├── plot-iptws-total-oda-foreign-1.png │ │ ├── plot-iptws-total-recip-dom-1.png │ │ ├── plot-iptws-total-recip-foreign-1.png │ │ ├── plot-num-ppcheck-1.png │ │ ├── plot-num-trace-1.png │ │ ├── plot-num-trank-1.png │ │ ├── plot-outcome-ppcheck-1.png │ │ ├── plot-outcome-trace-1.png │ │ ├── plot-outcome-trank-1.png │ │ ├── plot-prop-zero-zi-1.png │ │ ├── plot-zero-recip-1.png │ │ └── plot-zi-phi-1.png │ ├── models_total-aid │ ├── execute-results │ │ └── html.json │ └── figure-html │ │ ├── h1-check-denominator-1.png │ │ ├── h1-check-denominator-2.png │ │ ├── h1-check-numerator-1.png │ │ ├── h1-check-numerator-2.png │ │ ├── h1-check-outcome-1.png │ │ ├── h1-conditional-effects-1.png │ │ ├── h1-conditional-effects-2.png │ │ ├── h1-conditional-effects-3.png │ │ ├── h1-conditional-effects-4.png │ │ ├── h1-plots-defacto-1.png │ │ ├── h1-plots-dejure-1.png │ │ ├── iptws-advocacy-1.png │ │ ├── iptws-ccsi-1.png │ │ ├── iptws-entry-1.png │ │ ├── iptws-funding-1.png │ │ ├── iptws-total-oda-1.png │ │ ├── plot-cfx-mfx-advocacy-1.png │ │ ├── plot-cfx-mfx-ccsi-1.png │ │ ├── plot-cfx-mfx-ccsi-only-1.png │ │ ├── plot-cfx-mfx-combined-1.png │ │ ├── plot-cfx-mfx-defacto-1.png │ │ ├── plot-cfx-mfx-entry-1.png │ │ ├── plot-cfx-mfx-funding-1.png │ │ ├── plot-cfx-mfx-repress-1.png │ │ ├── plot-cfx-mfx-total-1.png │ │ ├── plot-cfx-predictions-ccsi-1.png │ │ ├── plot-cfx-predictions-combined-1.png │ │ ├── plot-cfx-predictions-defacto-1.png │ │ ├── plot-cfx-range-advocacy-1.png │ │ ├── plot-cfx-range-ccsi-1.png │ │ ├── plot-cfx-range-entry-1.png │ │ ├── plot-cfx-range-funding-1.png │ │ ├── plot-cfx-range-repress-1.png │ │ ├── plot-cfx-range-total-1.png │ │ ├── plot-denom-ppcheck-1.png │ │ ├── plot-denom-trace-1.png │ │ ├── plot-denom-trank-1.png │ │ ├── plot-iptws-advocacy-1.png │ │ ├── plot-iptws-ccsi-1.png │ │ ├── plot-iptws-csrepress-1.png │ │ ├── plot-iptws-entry-1.png │ │ ├── plot-iptws-funding-1.png │ │ ├── plot-iptws-total-oda-1.png │ │ ├── plot-num-ppcheck-1.png │ │ ├── plot-num-trace-1.png │ │ ├── plot-num-trank-1.png │ │ ├── plot-outcome-ppcheck-1.png │ │ ├── plot-outcome-priors-1.png │ │ ├── plot-outcome-trace-1.png │ │ ├── plot-outcome-trank-1.png │ │ ├── plot-prop-zero-hu-1.png │ │ ├── plot-weight-priors-1.png │ │ └── plot-zero-oda-1.png │ ├── software-citations │ └── execute-results │ │ └── html.json │ ├── targets │ └── execute-results │ │ └── html.json │ └── why-hierarchical-models │ ├── execute-results │ └── html.json │ └── figure-html │ ├── panel-structure-svg-1.dvi │ ├── panel-structure-svg-1.svg │ └── plot-biggest-movers-1.png ├── _quarto.yml ├── _renv_packages.R ├── _targets.R ├── _targets_packages.R ├── data ├── DO-NOT-EDIT-ANY-FILES-IN-HERE-BY-HAND └── manual_data │ ├── oecd_dac_countries.csv │ ├── purpose_codes_contention.csv │ └── purpose_codes_contention_WILL_BE_OVERWRITTEN.csv ├── deploy.sh ├── index.qmd ├── manuscript ├── .gitignore ├── _extensions │ └── andrewheiss │ │ ├── hikmah-manuscript │ │ ├── _extension.yml │ │ ├── include-in-header.tex │ │ ├── partials │ │ │ ├── before-body.tex │ │ │ └── title.tex │ │ ├── styles │ │ │ ├── reference.docx │ │ │ └── reference.odt │ │ └── templates │ │ │ └── odt-manuscript.odt │ │ ├── hikmah │ │ ├── _extension.yml │ │ ├── include-in-header.tex │ │ ├── partials │ │ │ ├── before-body.tex │ │ │ ├── title-block.html │ │ │ └── title.tex │ │ └── styles │ │ │ └── pretty.scss │ │ └── wordcount │ │ ├── _extension.yml │ │ ├── citeproc.lua │ │ └── wordcount.lua ├── _output.yaml ├── _quarto-ms.yml ├── _quarto-nice.yml ├── _quarto.yml ├── csl │ ├── apa.csl │ └── chicago-author-date.csl ├── manuscript.Rmd ├── manuscript.qmd └── references.json ├── notebook ├── _metadata.yml ├── causal-model.qmd ├── design-details.qmd ├── estimands.qmd ├── general-analysis.qmd ├── get-merge-data.qmd ├── html │ ├── custom.scss │ └── linux-libertine-woff │ │ ├── LinLibertine_DR.woff │ │ ├── LinLibertine_I.woff │ │ ├── LinLibertine_M.woff │ │ ├── LinLibertine_R.woff │ │ ├── LinLibertine_RB.woff │ │ ├── LinLibertine_RBI.woff │ │ ├── LinLibertine_RI.woff │ │ ├── LinLibertine_RZ.woff │ │ ├── LinLibertine_RZI.woff │ │ ├── example.html │ │ └── style.css ├── img │ ├── flowchart.png │ └── rho-plot.png ├── manuscript.qmd ├── model-details.qmd ├── model-tricky-outcomes.qmd ├── models_aid-contentiousness.qmd ├── models_aid-recipients.qmd ├── models_total-aid.qmd ├── softbib.bib ├── software-citations.qmd ├── sparkplots │ ├── contentiousness_bar_advocacy.pdf │ ├── contentiousness_bar_advocacy.png │ ├── contentiousness_bar_barriers_total.pdf │ ├── contentiousness_bar_barriers_total.png │ ├── contentiousness_bar_entry.pdf │ ├── contentiousness_bar_entry.png │ ├── contentiousness_bar_funding.pdf │ ├── contentiousness_bar_funding.png │ ├── contentiousness_bar_v2csreprss.pdf │ ├── contentiousness_bar_v2csreprss.png │ ├── contentiousness_bar_v2xcs_ccsi.pdf │ ├── contentiousness_bar_v2xcs_ccsi.png │ ├── oda_bar_advocacy.pdf │ ├── oda_bar_advocacy.png │ ├── oda_bar_barriers_total.pdf │ ├── oda_bar_barriers_total.png │ ├── oda_bar_entry.pdf │ ├── oda_bar_entry.png │ ├── oda_bar_funding.pdf │ ├── oda_bar_funding.png │ ├── oda_bar_v2csreprss.pdf │ ├── oda_bar_v2csreprss.png │ ├── oda_bar_v2xcs_ccsi.pdf │ ├── oda_bar_v2xcs_ccsi.png │ ├── recipient_bar_domestic_advocacy.pdf │ ├── recipient_bar_domestic_advocacy.png │ ├── recipient_bar_domestic_barriers_total.pdf │ ├── recipient_bar_domestic_barriers_total.png │ ├── recipient_bar_domestic_entry.pdf │ ├── recipient_bar_domestic_entry.png │ ├── recipient_bar_domestic_funding.pdf │ ├── recipient_bar_domestic_funding.png │ ├── recipient_bar_domestic_v2csreprss.pdf │ ├── recipient_bar_domestic_v2csreprss.png │ ├── recipient_bar_domestic_v2xcs_ccsi.pdf │ ├── recipient_bar_domestic_v2xcs_ccsi.png │ ├── recipient_bar_foreign_advocacy.pdf │ ├── recipient_bar_foreign_advocacy.png │ ├── recipient_bar_foreign_barriers_total.pdf │ ├── recipient_bar_foreign_barriers_total.png │ ├── recipient_bar_foreign_entry.pdf │ ├── recipient_bar_foreign_entry.png │ ├── recipient_bar_foreign_funding.pdf │ ├── recipient_bar_foreign_funding.png │ ├── recipient_bar_foreign_v2csreprss.pdf │ ├── recipient_bar_foreign_v2csreprss.png │ ├── recipient_bar_foreign_v2xcs_ccsi.pdf │ └── recipient_bar_foreign_v2xcs_ccsi.png ├── targets.qmd └── why-hierarchical-models.qmd ├── renv.lock ├── renv ├── .gitignore ├── activate.R └── settings.dcf └── testy-turtle.Rproj /.Rprofile: -------------------------------------------------------------------------------- 1 | source("renv/activate.R") 2 | 3 | # Add Stan's repo as a usable repo 4 | # Thanks TJ Mahr: https://github.com/stan-dev/cmdstanr/issues/552#issuecomment-930232573 5 | # options(repos = c(CRAN = "https://cloud.r-project.org", 6 | # stan = "https://mc-stan.org/r-packages/")) 7 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # R stuff 2 | .Rproj.user 3 | .Rhistory 4 | .RData 5 | 6 | # Data stuff 7 | # (ignore for now) 8 | data/raw_data/ 9 | data/derived_data/ 10 | 11 | # Targets stuff 12 | _targets 13 | _targets.yaml 14 | 15 | # Site output 16 | **/_site/* 17 | **/site_libs/* 18 | 19 | # knitr and caching stuff 20 | **/*_files/* 21 | **/*_cache/* 22 | **/model_cache* 23 | *.log 24 | 25 | # Output 26 | # (ignore for now) 27 | analysis/output/ 28 | manuscript/*.pdf 29 | manuscript/*.docx 30 | manuscript/*.odt 31 | 32 | # Miscellaneous 33 | *.~lock.* 34 | .DS_Store 35 | .dropbox 36 | Icon? 37 | admin/* 38 | sandbox/* 39 | 40 | # Script for sending things to RStudio's Background Jobs panel 41 | job-stuff.R 42 | 43 | /.quarto/ 44 | 45 | /.luarc.json 46 | -------------------------------------------------------------------------------- /CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Code of Conduct 2 | 3 | As contributors and maintainers of this project, we pledge to respect all people who 4 | contribute through reporting issues, posting feature requests, updating documentation, 5 | submitting pull requests or patches, and other activities. 6 | 7 | We are committed to making participation in this project a harassment-free experience for 8 | everyone, regardless of level of experience, gender, gender identity and expression, 9 | sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. 10 | 11 | Examples of unacceptable behavior by participants include the use of sexual language or 12 | imagery, derogatory comments or personal attacks, trolling, public or private harassment, 13 | insults, or other unprofessional conduct. 14 | 15 | Project maintainers have the right and responsibility to remove, edit, or reject comments, 16 | commits, code, wiki edits, issues, and other contributions that are not aligned to this 17 | Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed 18 | from the project team. 19 | 20 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by 21 | opening an issue or contacting one or more of the project maintainers. 22 | 23 | This Code of Conduct is adapted from the Contributor Covenant 24 | (http:contributor-covenant.org), version 1.0.0, available at 25 | http://contributor-covenant.org/version/1/0/0/ 26 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | We love pull requests from everyone. By participating in this project, you 4 | agree to abide by our [code of conduct](CONDUCT.md). 5 | 6 | ## Getting Started 7 | 8 | * Make sure you have a [GitHub account](https://github.com/signup/free). If you are not familar with git and GitHub, take a look at to get started. 9 | * [Submit a post for your issue](https://github.com///issues/), assuming one does not already exist. 10 | * Clearly describe your issue, including steps to reproduce when it is a bug, or some justification for a proposed improvement. 11 | * [Fork](https://github.com///#fork-destination-box) the repository on GitHub to make a copy of the repository on your account. Or use this line in your shell terminal: 12 | 13 | `git clone git@github.com:your-username/.git` 14 | 15 | ## Making changes 16 | 17 | * Edit the files, save often, and make commits of logical units, where each commit indicates one concept 18 | * Follow our [style guide](http://adv-r.had.co.nz/Style.html). 19 | * Make sure you write [good commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). 20 | * Make sure you have added the necessary tests for your code changes. 21 | * Run _all_ the tests using `devtools::check()` to assure nothing else was accidentally broken. 22 | * If you need help or unsure about anything, post an update to [your issue](https://github.com///issues/). 23 | 24 | ## Submitting your changes 25 | 26 | Push to your fork and [submit a pull request](https://github.com///compare/). 27 | 28 | At this point you're waiting on us. We like to at least comment on pull requests 29 | within a few days (and, typically, one business day). We may suggest 30 | some changes or improvements or alternatives. 31 | 32 | Some things you can do that will increase the chance that your pull request is accepted: 33 | 34 | * Engage in discussion on [your issue](https://github.com///issues/). 35 | * Be familiar with the backround literature cited in the [README](README.Rmd) 36 | * Write tests that pass. 37 | * Follow our [code style guide](http://adv-r.had.co.nz/Style.html). 38 | * Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # MIT License 2 | 3 | Copyright (c) 2021 Andrew Heiss and Suparna Chaudhry 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /R/funs_models-iptw.R: -------------------------------------------------------------------------------- 1 | # Utility functions ------------------------------------------------------- 2 | 3 | cumprod_na <- function(x) { 4 | x[is.na(x)] <- 1 5 | return(cumprod(x)) 6 | } 7 | 8 | cumsum_na <- function(x) { 9 | x[is.na(x)] <- 0 10 | return(cumsum(x)) 11 | } 12 | 13 | # Via https://stackoverflow.com/a/55323097/120898 14 | lhs <- function(x) { 15 | if (attr(terms(as.formula(x)), which = "response")) { 16 | all.vars(x)[1] 17 | } else { 18 | NULL 19 | } 20 | } 21 | 22 | 23 | # IPTWs ------------------------------------------------------------------- 24 | 25 | create_iptws <- function(dat, wt_model) { 26 | withr::with_seed(bayes_settings$seed$general, { 27 | # Numerator 28 | 29 | # Predictions 30 | # predict.brmsfit() is an alias of posterior_predict(). The main difference is 31 | # that it summarizes the predictions automatically and returns a matrix with 32 | # columns for the average, error, and credible interval bounds 33 | pred_num <- predict(wt_model$model_num, newdata = dat, re_formula = NULL) 34 | 35 | # Residuals 36 | # residuals.brmsfit() is an alias of predictive_error.brmsfit(). Like 37 | # predict.brmsfit(), it automatically summarizes the results *and* it allows you 38 | # to specify what kind of predictions to use. By default it uses epreds, but we 39 | # want regular full posterior predictions 40 | resid_num <- residuals(wt_model$model_num, newdata = dat, 41 | re_formula = NULL, method = "posterior_predict") 42 | 43 | lhs_num <- lhs(wt_model$model_num$formula$formula) 44 | 45 | num_actual <- dnorm(dat[[lhs_num]], 46 | pred_num[,1], 47 | sd(resid_num[,1], na.rm = TRUE)) 48 | 49 | # Denominator 50 | pred_denom <- predict(wt_model$model_denom, newdata = dat, re_formula = NULL) 51 | resid_denom <- residuals(wt_model$model_denom, newdata = dat, 52 | re_formula = NULL, method = "posterior_predict") 53 | lhs_denom <- lhs(wt_model$model_denom$formula$formula) 54 | 55 | denom_actual <- dnorm(dat[[lhs_denom]], 56 | pred_denom[,1], 57 | sd(resid_denom[,1], na.rm = TRUE)) 58 | 59 | dat <- dat %>% 60 | mutate(weights_sans_time = num_actual / denom_actual) %>% 61 | group_by(gwcode) %>% 62 | mutate(iptw = cumprod_na(weights_sans_time)) %>% 63 | ungroup() 64 | }) 65 | 66 | return(dat) 67 | } 68 | 69 | 70 | # Marginal and conditional effects ---------------------------------------- 71 | 72 | f_mfx_cfx_multiple <- function(model_total, model_advocacy, model_entry, 73 | model_funding, model_ccsi, model_repress) { 74 | library(marginaleffects) 75 | 76 | set.seed(bayes_settings$seed$general) 77 | 78 | total <- marginaleffects( 79 | model_total, 80 | newdata = datagrid(year_c = 0, 81 | barriers_total = seq(0, 10, 1)), 82 | variables = "barriers_total", 83 | type = "response", 84 | re_formula = NA 85 | ) 86 | 87 | advocacy <- marginaleffects( 88 | model_advocacy, 89 | newdata = datagrid(year_c = 0, 90 | advocacy = seq(0, 2, 1)), 91 | variables = "advocacy", 92 | type = "response", 93 | re_formula = NA 94 | ) 95 | 96 | entry <- marginaleffects( 97 | model_entry, 98 | newdata = datagrid(year_c = 0, 99 | entry = seq(0, 3, 1)), 100 | variables = "entry", 101 | type = "response", 102 | re_formula = NA 103 | ) 104 | 105 | funding <- marginaleffects( 106 | model_funding, 107 | newdata = datagrid(year_c = 0, 108 | funding = seq(0, 4, 1)), 109 | variables = "funding", 110 | type = "response", 111 | re_formula = NA 112 | ) 113 | 114 | ccsi <- marginaleffects( 115 | model_ccsi, 116 | newdata = datagrid(year_c = 0, 117 | v2xcs_ccsi = seq(0, 1, 0.5)), 118 | variables = "v2xcs_ccsi", 119 | type = "response", 120 | re_formula = NA 121 | ) 122 | 123 | repress <- marginaleffects( 124 | model_repress, 125 | newdata = datagrid(year_c = 0, 126 | v2csreprss = c(-2, 0, 2)), 127 | variables = "v2csreprss", 128 | type = "response", 129 | re_formula = NA 130 | ) 131 | 132 | return(lst(total, advocacy, entry, funding, ccsi, repress)) 133 | } 134 | 135 | f_mfx_cfx_single <- function(model_total, model_advocacy, model_entry, 136 | model_funding, model_ccsi, model_repress) { 137 | library(marginaleffects) 138 | 139 | set.seed(bayes_settings$seed$general) 140 | 141 | total <- marginaleffects( 142 | model_total, 143 | newdata = datagrid(year_c = 0, barriers_total = 1), 144 | variables = "barriers_total", 145 | type = "response", 146 | re_formula = NA 147 | ) 148 | 149 | advocacy <- marginaleffects( 150 | model_advocacy, 151 | newdata = datagrid(year_c = 0, advocacy = 1), 152 | variables = "advocacy", 153 | type = "response", 154 | re_formula = NA 155 | ) 156 | 157 | entry <- marginaleffects( 158 | model_entry, 159 | newdata = datagrid(year_c = 0, entry = 1), 160 | variables = "entry", 161 | type = "response", 162 | re_formula = NA 163 | ) 164 | 165 | funding <- marginaleffects( 166 | model_funding, 167 | newdata = datagrid(year_c = 0, funding = 1), 168 | variables = "funding", 169 | type = "response", 170 | re_formula = NA 171 | ) 172 | 173 | ccsi <- marginaleffects( 174 | model_ccsi, 175 | newdata = datagrid(year_c = 0, v2xcs_ccsi = 0.5), 176 | variables = "v2xcs_ccsi", 177 | type = "response", 178 | re_formula = NA 179 | ) 180 | 181 | repress <- marginaleffects( 182 | model_repress, 183 | newdata = datagrid(year_c = 0, v2csreprss = 0), 184 | variables = "v2csreprss", 185 | type = "response", 186 | re_formula = NA 187 | ) 188 | 189 | return(lst(total, advocacy, entry, funding, ccsi, repress)) 190 | } 191 | -------------------------------------------------------------------------------- /R/funs_notebook.R: -------------------------------------------------------------------------------- 1 | # This is adapted from TJ Mahr's {notestar} 2 | # (https://github.com/tjmahr/notestar/blob/main/R/tar-notebook.R). 3 | # 4 | # He did all the hard work figuring out how to dynamically generate targets 5 | # based on a bunch of files, while also checking for targets dependencies with 6 | # tarchetypes::tar_knitr_deps(), based on this issue in {tarchetypes}: 7 | # https://github.com/ropensci/tarchetypes/issues/23 8 | # 9 | # I just adapted it for an R Markdown website 10 | 11 | notebook_rmd_collate <- function(dir_notebook = "analysis") { 12 | index <- file.path(dir_notebook, "index.Rmd") 13 | posts <- list.files( 14 | path = dir_notebook, 15 | pattern = ".*.Rmd", 16 | full.names = TRUE 17 | ) 18 | unique(c(index, posts)) 19 | } 20 | 21 | rmd_to_html <- function(x) gsub("[.]Rmd$", ".html", x = x) 22 | html_to_rmd <- function(x) gsub("[.]html$", ".Rmd", x = x) 23 | 24 | lazy_list <- function(...) { 25 | q <- rlang::enexprs(..., .named = TRUE, .check_assign = TRUE) 26 | data <- list() 27 | for (x in seq_along(q)) { 28 | data[names(q[x])] <- list(rlang::eval_tidy(q[[x]], data = data)) 29 | } 30 | data 31 | } 32 | 33 | knit_notebook_page <- function(rmd_in, html_out) { 34 | rmarkdown::render_site(rmd_in, encoding = "UTF-8") 35 | html_out 36 | } 37 | 38 | tar_notebook_pages <- function( 39 | dir_notebook = "analysis", 40 | dir_html = "analysis/_site", 41 | yaml_config = "analysis/_site.yml" 42 | ) { 43 | 44 | rmds <- notebook_rmd_collate(dir_notebook) 45 | 46 | values <- lazy_list( 47 | rmd_file = !! rmds, 48 | rmd_page_raw = basename(.data$rmd_file), 49 | rmd_page = make.names(.data$rmd_page_raw), 50 | sym_rmd_page = rlang::syms(.data$rmd_page), 51 | rmd_deps = lapply(.data$rmd_file, tarchetypes::tar_knitr_deps_expr), 52 | html_page = rmd_to_html(.data$rmd_page), 53 | html_page_raw = rmd_to_html(.data$rmd_page_raw), 54 | html_file = file.path(!! dir_html, .data$html_page_raw) 55 | ) 56 | 57 | list( 58 | # Add _site.yml as a dependency 59 | # Have to use tar_target_raw() instead of tar_target() so that yaml_config is usable 60 | tar_target_raw("site_yml", yaml_config, format = "file"), 61 | 62 | # Prepare targets for each of the notebook pages 63 | tarchetypes::tar_eval_raw( 64 | quote( 65 | targets::tar_target(rmd_page, c(rmd_file, site_yml), format = "file") 66 | ), 67 | values = values 68 | ), 69 | 70 | tarchetypes::tar_eval_raw( 71 | quote( 72 | targets::tar_target( 73 | html_page, 74 | command = { 75 | rmd_deps 76 | sym_rmd_page 77 | knit_notebook_page(rmd_file, html_file); 78 | html_file 79 | }, 80 | format = "file" 81 | ) 82 | ), 83 | values = values 84 | ) 85 | ) 86 | } 87 | 88 | copy_notebook_supporting_files <- function(rmd, ...) { 89 | rmarkdown::render_site(rmd, encoding = "UTF-8") 90 | } 91 | -------------------------------------------------------------------------------- /R/graphics.R: -------------------------------------------------------------------------------- 1 | # https://carto.com/carto-colors/ 2 | clrs <- list(Prism = rcartocolor::carto_pal(n = 12, "Prism"), 3 | PurpOr = rcartocolor::carto_pal(7, "PurpOr"), 4 | Emrld = rcartocolor::carto_pal(7, "Emrld"), 5 | Teal = rcartocolor::carto_pal(7, "Teal"), 6 | Peach = rcartocolor::carto_pal(7, "Peach"), 7 | Sunset = rcartocolor::carto_pal(7, "Sunset")) 8 | 9 | set_annotation_fonts <- function() { 10 | ggplot2::update_geom_defaults("label", list(family = "Inter", face = "plain")) 11 | ggplot2::update_geom_defaults("text", list(family = "Inter", face = "plain")) 12 | } 13 | 14 | theme_donors <- function(base_size = 11, base_family = "Inter", prior = FALSE) { 15 | ret <- theme_bw(base_size, base_family) + 16 | theme(panel.background = element_rect(fill = "#ffffff", colour = NA), 17 | plot.title = element_text(size = rel(1.1), vjust = 1.2, 18 | family = "Inter", face = "bold"), 19 | plot.subtitle = element_text(size = rel(0.8), 20 | family = "Inter", face = "plain"), 21 | plot.caption = element_text(margin = margin(t = 10), size = rel(0.6), 22 | family = "Inter", face = "plain"), 23 | panel.border = element_rect(color = "grey50", fill = NA, linewidth = 0.15), 24 | panel.spacing = unit(1, "lines"), 25 | panel.grid.minor = element_blank(), 26 | panel.grid.major = element_line(linewidth = 0.25, colour = "grey90"), 27 | axis.line = element_blank(), 28 | axis.ticks = element_blank(), 29 | axis.title = element_text(size = rel(0.8), 30 | family = "Inter", face = "bold"), 31 | axis.title.y = element_text(margin = margin(r = 10)), 32 | axis.title.x = element_text(margin = margin(t = 10)), 33 | legend.position = "bottom", 34 | legend.title = element_text(size = rel(0.8)), 35 | legend.key.size = unit(0.7, "line"), 36 | legend.key = element_blank(), 37 | legend.spacing = unit(0.1, "lines"), 38 | legend.margin = margin(t = 0), 39 | strip.text = element_text(size = rel(0.9), hjust = 0, 40 | family = "Inter", face = "bold"), 41 | strip.background = element_rect(fill = "white", colour = NA)) 42 | 43 | if (prior) { 44 | ret <- ret + 45 | theme(panel.grid.major = element_blank(), 46 | axis.title.y = element_blank(), 47 | axis.text.y = element_blank(), 48 | panel.border = element_blank()) 49 | } else { 50 | ret 51 | } 52 | } 53 | 54 | theme_donors_map <- function(base_size = 9, base_family = "Inter") { 55 | ret <- theme_void(base_size, base_family) + 56 | theme(plot.background = element_rect(fill = "#ffffff", colour = NA), 57 | legend.position = "bottom") 58 | 59 | ret 60 | } 61 | 62 | #' Convert mms to pts 63 | #' 64 | #' Convert units specified in millimeters to typographic points. This is especially helpful when working with ggplot geoms that use size parameters 65 | #' 66 | #' @param x a numeric value (in millimeters) 67 | #' 68 | #' @return A numeric value (in points) 69 | #' @export 70 | #' 71 | #' @examples 72 | #' library(ggplot2) 73 | #' 74 | #' ggplot(mtcars, aes(x = mpg, y = wt)) + 75 | #' geom_point() + 76 | #' annotate(geom = "text", x = 20, y = 4, 77 | #' label = "Here's a label", size = pts(11)) 78 | pts <- function(x) { 79 | as.numeric(grid::convertUnit(grid::unit(x, "pt"), "mm")) 80 | } 81 | 82 | # Functions for the sparkchart bar chart things in the results tables 83 | spark_bar <- function(df) { 84 | ggplot(df, aes(x = pd, y = "")) + 85 | geom_col(fill = "grey20") + 86 | geom_text(aes(label = pd_nice), hjust = 1.4, color = "white", 87 | size = 6, fontface = "bold") + 88 | scale_x_continuous(limits = c(0, 1), expand = c(0, 0)) + 89 | scale_y_discrete(expand = c(0, 0)) + 90 | theme_void() + 91 | theme(panel.background = element_rect(fill = "grey90", linewidth = 0)) 92 | } 93 | 94 | save_sparks <- function(gg, name) { 95 | width <- 3 96 | height <- 0.45 97 | 98 | ggsave(glue("{name}.pdf"), gg, 99 | width = width, height = height, 100 | device = cairo_pdf) 101 | 102 | ggsave(glue("{name}.png"), gg, 103 | width = width, height = height, 104 | res = 300, device = ragg::agg_png) 105 | 106 | return(c(pdf = glue("{name}.pdf"), png = glue("{name}.png"))) 107 | } 108 | -------------------------------------------------------------------------------- /R/misc.R: -------------------------------------------------------------------------------- 1 | matrix_from_vector <- function(x, ncol) { 2 | n_balanced <- ceiling(length(x) / ncol) * ncol 3 | matrix(c(x, rep(NA, n_balanced - length(x))), ncol = ncol) 4 | } 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | # Are Donors Really Responding? Analyzing the Impact of Global Restrictions on NGOs 5 | 6 | 7 | 8 | 9 | ### 🙄🐢: Note on “testy turtle” project name 10 | 11 | Because project titles change all the time with revisions, rewriting, 12 | and peer review, we used [**codename**](http://svmiller.com/codename/) 13 | to generate an 14 | [Ubuntu-style](https://wiki.ubuntu.com/DevelopmentCodeNames) 15 | internal-to-us project name that won’t change. The seed `53879` was 16 | generated with random atmospheric noise at 17 | [random.org](https://www.random.org/). 18 | 19 | ``` r 20 | library(codename) 21 | codename_message() 22 | #> code name generated by {codename} v.0.4.0 23 | 24 | codename(seed = 53879, type = "ubuntu") 25 | #> [1] "testy turtle" 26 | ``` 27 | 28 | ## Licenses 29 | 30 | **Text and figures:** All prose and images are licensed under Creative 31 | Commons ([CC-BY-4.0](http://creativecommons.org/licenses/by/4.0/)). 32 | 33 | **Code:** All code is licensed under the [MIT License](LICENSE.md). 34 | 35 | ## Contributions and Code of Conduct 36 | 37 | We welcome contributions from everyone. Before you get started, please 38 | see our [contributor guidelines](CONTRIBUTING.md). Please note that this 39 | project is released with a [Contributor Code of 40 | Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). 41 | By contributing to this project, you agree to abide by its terms. 42 | -------------------------------------------------------------------------------- /README.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | format: gfm 3 | --- 4 | 5 | 6 | 7 | ```{r setup, include=FALSE} 8 | knitr::opts_chunk$set( 9 | collapse = TRUE, 10 | comment = "#>", 11 | fig.path = "README-", 12 | fig.retina = 3 13 | ) 14 | 15 | library(emoji) 16 | ``` 17 | 18 | # Are Donors Really Responding? Analyzing the Impact of Global Restrictions on NGOs 19 | 20 | 21 | 22 | 23 | 24 | ### `r emoji_glue(":roll_eyes::turtle:")`: Note on "testy turtle" project name 25 | 26 | Because project titles change all the time with revisions, rewriting, and peer review, we used [**codename**](http://svmiller.com/codename/) to generate an [Ubuntu-style](https://wiki.ubuntu.com/DevelopmentCodeNames) internal-to-us project name that won't change. The seed `53879` was generated with random atmospheric noise at [random.org](https://www.random.org/). 27 | 28 | ```{r generate-code-name, eval=FALSE} 29 | library(codename) 30 | codename_message() 31 | #> code name generated by {codename} v.0.4.0 32 | 33 | codename(seed = 53879, type = "ubuntu") 34 | #> [1] "testy turtle" 35 | ``` 36 | 37 | 38 | ## Licenses 39 | 40 | **Text and figures:** All prose and images are licensed under Creative Commons ([CC-BY-4.0](http://creativecommons.org/licenses/by/4.0/)). 41 | 42 | **Code:** All code is licensed under the [MIT License](LICENSE.md). 43 | 44 | 45 | ## Contributions and Code of Conduct 46 | 47 | We welcome contributions from everyone. Before you get started, please see our [contributor guidelines](CONTRIBUTING.md). Please note that this project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms. 48 | -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/_extension.yml: -------------------------------------------------------------------------------- 1 | title: Font Awesome support 2 | author: Carlos Scheidegger 3 | version: 1.0.0 4 | quarto-required: ">=1.2.198" 5 | contributes: 6 | shortcodes: 7 | - fontawesome.lua 8 | -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/css/latex-fontsize.css: -------------------------------------------------------------------------------- 1 | .fa-tiny { 2 | font-size: 0.5em; 3 | } 4 | .fa-scriptsize { 5 | font-size: 0.7em; 6 | } 7 | .fa-footnotesize { 8 | font-size: 0.8em; 9 | } 10 | .fa-small { 11 | font-size: 0.9em; 12 | } 13 | .fa-normalsize { 14 | font-size: 1em; 15 | } 16 | .fa-large { 17 | font-size: 1.2em; 18 | } 19 | .fa-Large { 20 | font-size: 1.5em; 21 | } 22 | .fa-LARGE { 23 | font-size: 1.75em; 24 | } 25 | .fa-huge { 26 | font-size: 2em; 27 | } 28 | .fa-Huge { 29 | font-size: 2.5em; 30 | } 31 | -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/assets/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_extensions/quarto-ext/fontawesome/assets/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /_extensions/quarto-ext/fontawesome/fontawesome.lua: -------------------------------------------------------------------------------- 1 | local function ensureLatexDeps() 2 | quarto.doc.use_latex_package("fontawesome5") 3 | end 4 | 5 | local function ensureHtmlDeps() 6 | quarto.doc.add_html_dependency({ 7 | name = 'fontawesome6', 8 | version = '0.1.0', 9 | stylesheets = {'assets/css/all.css', 'assets/css/latex-fontsize.css'} 10 | }) 11 | end 12 | 13 | local function isEmpty(s) 14 | return s == nil or s == '' 15 | end 16 | 17 | local function isValidSize(size) 18 | local validSizes = { 19 | "tiny", 20 | "scriptsize", 21 | "footnotesize", 22 | "small", 23 | "normalsize", 24 | "large", 25 | "Large", 26 | "LARGE", 27 | "huge", 28 | "Huge" 29 | } 30 | for _, v in ipairs(validSizes) do 31 | if v == size then 32 | return size 33 | end 34 | end 35 | return "" 36 | end 37 | 38 | return { 39 | ["fa"] = function(args, kwargs) 40 | 41 | local group = "solid" 42 | local icon = pandoc.utils.stringify(args[1]) 43 | if #args > 1 then 44 | group = icon 45 | icon = pandoc.utils.stringify(args[2]) 46 | end 47 | 48 | local title = pandoc.utils.stringify(kwargs["title"]) 49 | if not isEmpty(title) then 50 | title = " title=\"" .. title .. "\"" 51 | end 52 | 53 | local label = pandoc.utils.stringify(kwargs["label"]) 54 | if isEmpty(label) then 55 | label = " aria-label=\"" .. icon .. "\"" 56 | else 57 | label = " aria-label=\"" .. label .. "\"" 58 | end 59 | 60 | local size = pandoc.utils.stringify(kwargs["size"]) 61 | 62 | -- detect html (excluding epub which won't handle fa) 63 | if quarto.doc.is_format("html:js") then 64 | ensureHtmlDeps() 65 | if not isEmpty(size) then 66 | size = " fa-" .. size 67 | end 68 | return pandoc.RawInline( 69 | 'html', 70 | "" 71 | ) 72 | -- detect pdf / beamer / latex / etc 73 | elseif quarto.doc.is_format("pdf") then 74 | ensureLatexDeps() 75 | if isEmpty(isValidSize(size)) then 76 | return pandoc.RawInline('tex', "\\faIcon{" .. icon .. "}") 77 | else 78 | return pandoc.RawInline('tex', "{\\" .. size .. "\\faIcon{" .. icon .. "}}") 79 | end 80 | else 81 | return pandoc.Null() 82 | end 83 | end 84 | } 85 | -------------------------------------------------------------------------------- /_freeze/notebook/causal-model/figure-html/full-giant-dag-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/causal-model/figure-html/full-giant-dag-1.png -------------------------------------------------------------------------------- /_freeze/notebook/causal-model/figure-html/simple-dag-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/causal-model/figure-html/simple-dag-1.png -------------------------------------------------------------------------------- /_freeze/notebook/causal-model/figure-html/simple-dag-letters-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/causal-model/figure-html/simple-dag-letters-1.png -------------------------------------------------------------------------------- /_freeze/notebook/causal-model/figure-html/simplerish-dag-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/causal-model/figure-html/simplerish-dag-1.png -------------------------------------------------------------------------------- /_freeze/notebook/design-details/figure-html/show-emrld-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/design-details/figure-html/show-emrld-1.png -------------------------------------------------------------------------------- /_freeze/notebook/design-details/figure-html/show-peach-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/design-details/figure-html/show-peach-1.png -------------------------------------------------------------------------------- /_freeze/notebook/design-details/figure-html/show-prism-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/design-details/figure-html/show-prism-1.png -------------------------------------------------------------------------------- /_freeze/notebook/design-details/figure-html/show-prism-short-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/design-details/figure-html/show-prism-short-1.png -------------------------------------------------------------------------------- /_freeze/notebook/design-details/figure-html/show-purpor-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/design-details/figure-html/show-purpor-1.png -------------------------------------------------------------------------------- /_freeze/notebook/design-details/figure-html/show-sunset-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/design-details/figure-html/show-sunset-1.png -------------------------------------------------------------------------------- /_freeze/notebook/design-details/figure-html/show-teal-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/design-details/figure-html/show-teal-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/advocacy-laws-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/advocacy-laws-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/aid-by-contention-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/aid-by-contention-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/aid-by-donor-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/aid-by-donor-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/ccsi-aid-allhs-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/ccsi-aid-allhs-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/civicus-map-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/civicus-map-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/compulsory-vs-burdensome-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/compulsory-vs-burdensome-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/plot-aid-channels-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/plot-aid-channels-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/plot-all-channels-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/plot-all-channels-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/plot-all-dvs-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/plot-all-dvs-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/plot-channels-post-2000-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/plot-channels-post-2000-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/plot-contentious-aid-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/plot-contentious-aid-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/plot-oecd-aid-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/plot-oecd-aid-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/plot-us-aid-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/plot-us-aid-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/restrictions-aid-h1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/restrictions-aid-h1-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/restrictions-aid-h2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/restrictions-aid-h2-1.png -------------------------------------------------------------------------------- /_freeze/notebook/general-analysis/figure-html/restrictions-aid-h3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/general-analysis/figure-html/restrictions-aid-h3-1.png -------------------------------------------------------------------------------- /_freeze/notebook/get-merge-data/figure-html/data-missing-countries-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/get-merge-data/figure-html/data-missing-countries-1.png -------------------------------------------------------------------------------- /_freeze/notebook/get-merge-data/figure-html/data-missing-countries-sans-laws-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/get-merge-data/figure-html/data-missing-countries-sans-laws-1.png -------------------------------------------------------------------------------- /_freeze/notebook/get-merge-data/figure-html/final-data-missing-countries-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/get-merge-data/figure-html/final-data-missing-countries-1.png -------------------------------------------------------------------------------- /_freeze/notebook/get-merge-data/figure-html/final-data-missing-donors-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/get-merge-data/figure-html/final-data-missing-donors-1.png -------------------------------------------------------------------------------- /_freeze/notebook/get-merge-data/figure-html/vdem-civil-society-index-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/get-merge-data/figure-html/vdem-civil-society-index-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-all-prop-contentious-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-all-prop-contentious-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-all-prop-ngo-domestic-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-all-prop-ngo-domestic-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-all-prop-ngo-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-all-prop-ngo-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-country-lines-hu-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-country-lines-hu-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-country-lines-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-country-lines-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-all-parts-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-all-parts-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-conditional-mfx-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-conditional-mfx-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-conditional-mfx-all-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-conditional-mfx-all-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-conditional-predictions-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-conditional-predictions-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-epred-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-epred-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-linpred-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-linpred-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hu-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-hurdle-priors-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-hurdle-priors-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-marginal-mfx-both-hu-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-marginal-mfx-both-hu-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-marginal-mfx-both-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-marginal-mfx-both-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-oda-over-time-highlight-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-oda-over-time-highlight-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-pp-check-hu-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-pp-check-hu-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-pp-check-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-pp-check-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zero-hu-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zero-hu-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zero-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zero-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zeros-over-time-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zeros-over-time-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zeros-over-time-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-prop-zeros-over-time-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zero-oda-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zero-oda-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zero-props-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zero-props-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-all-parts-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-all-parts-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-conditional-mfx-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-conditional-mfx-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-conditional-mfx-all-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-conditional-mfx-all-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-conditional-predictions-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-conditional-predictions-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-epred-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-epred-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-linpred-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-linpred-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-phi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-phi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-priors-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-priors-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/plot-zi-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/prior-simulations-hurdle-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/prior-simulations-hurdle-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/prior-simulations-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/prior-simulations-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/rho-dist-hu-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/rho-dist-hu-1.png -------------------------------------------------------------------------------- /_freeze/notebook/model-tricky-outcomes/figure-html/rho-dist-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/model-tricky-outcomes/figure-html/rho-dist-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-check-denominator-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-check-denominator-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-check-denominator-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-check-denominator-2.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-check-outcome-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-check-outcome-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-2.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-3.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-conditional-effects-4.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-plots-defacto-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-plots-defacto-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/h2-plots-dejure-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/h2-plots-dejure-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/iptws-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/iptws-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/iptws-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/iptws-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/iptws-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/iptws-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/iptws-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/iptws-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/iptws-total-oda-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/iptws-total-oda-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-combined-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-combined-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-defacto-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-defacto-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-repress-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-repress-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-total-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-mfx-total-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-predictions-combined-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-predictions-combined-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-predictions-defacto-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-predictions-defacto-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-repress-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-repress-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-total-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-cfx-range-total-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-denom-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-denom-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-denom-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-denom-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-denom-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-denom-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-csrepress-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-csrepress-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-total-oda-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-total-oda-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-total-purpose-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-iptws-total-purpose-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-num-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-num-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-num-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-num-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-num-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-num-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-priors-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-priors-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-outcome-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-prop-zero-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-prop-zero-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-weight-priors-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-weight-priors-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-zero-purpose-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-zero-purpose-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-contentiousness/figure-html/plot-zi-phi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-contentiousness/figure-html/plot-zi-phi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-advocacy-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-advocacy-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-advocacy-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-advocacy-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-ccsi-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-ccsi-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-ccsi-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-ccsi-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-combined-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-combined-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-combined-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-combined-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-defacto-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-defacto-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-defacto-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-defacto-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-entry-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-entry-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-entry-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-entry-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-funding-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-funding-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-funding-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-funding-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-repress-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-repress-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-repress-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-repress-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-total-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-total-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-total-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-mfx-total-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-combined-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-combined-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-combined-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-combined-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-defacto-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-defacto-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-defacto-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-predictions-defacto-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-advocacy-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-advocacy-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-advocacy-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-advocacy-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-ccsi-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-ccsi-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-ccsi-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-ccsi-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-entry-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-entry-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-entry-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-entry-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-funding-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-funding-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-funding-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-funding-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-repress-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-repress-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-repress-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-repress-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-total-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-total-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-total-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-cfx-range-total-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-denom-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-denom-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-denom-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-denom-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-denom-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-denom-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-advocacy-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-advocacy-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-advocacy-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-advocacy-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-ccsi-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-ccsi-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-ccsi-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-ccsi-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-csrepress-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-csrepress-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-csrepress-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-csrepress-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-csrepress-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-csrepress-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-entry-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-entry-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-entry-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-entry-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-funding-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-funding-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-funding-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-funding-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-oda-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-oda-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-oda-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-oda-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-recip-dom-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-recip-dom-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-recip-foreign-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-iptws-total-recip-foreign-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-num-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-num-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-num-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-num-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-num-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-num-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-outcome-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-outcome-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-outcome-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-outcome-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-outcome-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-outcome-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-prop-zero-zi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-prop-zero-zi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-zero-recip-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-zero-recip-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_aid-recipients/figure-html/plot-zi-phi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_aid-recipients/figure-html/plot-zi-phi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-check-denominator-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-check-denominator-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-check-denominator-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-check-denominator-2.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-check-numerator-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-check-numerator-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-check-numerator-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-check-numerator-2.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-check-outcome-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-check-outcome-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-2.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-3.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-conditional-effects-4.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-plots-defacto-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-plots-defacto-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/h1-plots-dejure-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/h1-plots-dejure-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/iptws-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/iptws-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/iptws-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/iptws-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/iptws-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/iptws-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/iptws-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/iptws-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/iptws-total-oda-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/iptws-total-oda-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-ccsi-only-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-ccsi-only-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-combined-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-combined-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-defacto-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-defacto-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-repress-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-repress-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-total-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-mfx-total-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-predictions-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-predictions-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-predictions-combined-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-predictions-combined-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-predictions-defacto-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-predictions-defacto-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-repress-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-repress-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-total-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-cfx-range-total-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-denom-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-denom-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-denom-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-denom-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-denom-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-denom-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-iptws-advocacy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-iptws-advocacy-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-iptws-ccsi-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-iptws-ccsi-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-iptws-csrepress-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-iptws-csrepress-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-iptws-entry-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-iptws-entry-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-iptws-funding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-iptws-funding-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-iptws-total-oda-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-iptws-total-oda-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-num-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-num-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-num-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-num-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-num-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-num-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-outcome-ppcheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-outcome-ppcheck-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-outcome-priors-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-outcome-priors-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-outcome-trace-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-outcome-trace-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-outcome-trank-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-outcome-trank-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-prop-zero-hu-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-prop-zero-hu-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-weight-priors-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-weight-priors-1.png -------------------------------------------------------------------------------- /_freeze/notebook/models_total-aid/figure-html/plot-zero-oda-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/models_total-aid/figure-html/plot-zero-oda-1.png -------------------------------------------------------------------------------- /_freeze/notebook/software-citations/execute-results/html.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "de2536ae98cec3e45445c8b79928274c", 3 | "result": { 4 | "markdown": "---\ntitle: Software citations\nnocite: \"@bayesplot1, @bayesplot2, @brms1, @brms2, @brms3, @broom, @broom.mixed, @cmdstanr, @countrycode, @dagitty, @DT, @emoji, @extraDistr, @ggdag, @ggdist, @ggh4x, @ggplot2, @ggtext, @glue, @gt, @haven, @here, @httr, @janitor, @jsonlite, @knitr1, @knitr2, @knitr3, @latex2exp, @lubridate, @marginaleffects, @markdown, @modelsummary, @naniar, @patchwork, @performance, @rcartocolor, @readxl, @remotes, @renv, @rmarkdown1, @rmarkdown2, @rmarkdown3, @rstan, @scales, @sf, @softbib, @states, @tarchetypes, @targets, @testthat, @tibble, @tidybayes, @tidyr, @tidyverse, @visNetwork, @WDI, @xml2, @zoo\"\nbibliography: softbib.bib\n---\n\n\n", 5 | "supporting": [], 6 | "filters": [ 7 | "rmarkdown/pagebreak.lua" 8 | ], 9 | "includes": {}, 10 | "engineDependencies": {}, 11 | "preserve": {}, 12 | "postProcess": true 13 | } 14 | } -------------------------------------------------------------------------------- /_freeze/notebook/why-hierarchical-models/execute-results/html.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "b18fc0f0ab98833ae3cc9dfeb441fdff", 3 | "result": { 4 | "markdown": "---\ntitle: \"Why hierarchical models?\"\n---\n\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nlibrary(tidyverse)\nlibrary(targets)\nlibrary(scales)\nlibrary(patchwork)\n\ntar_config_set(store = here::here('_targets'),\n script = here::here('_targets.R'))\n\nfont_opts <- list(extra.preamble = c(\"\\\\usepackage{libertine}\", \n \"\\\\usepackage{libertinust1math}\"),\n dvisvgm.opts = \"--font-format=woff\")\n\n# Load data \n# Plotting functions\ninvisible(list2env(tar_read(graphic_functions), .GlobalEnv))\ninvisible(list2env(tar_read(misc_funs), .GlobalEnv))\n\ndf_country_aid <- tar_read(country_aid_final)\ndf_country_aid_laws <- filter(df_country_aid, laws)\n```\n:::\n\n\n\n# Hierarchical structure\n\n\n\n\n\nOur data includes information about 142 countries across 24 years (from 1990–2013). This kind of time series cross-sectional (TSCS) data reflects a natural hierarchical structure, with repeated yearly observations nested within countries ([see this whole guide I wrote](https://www.andrewheiss.com/blog/2021/12/01/multilevel-models-panel-data-guide/) because of this exact project)\n\n\n::: {.cell layout-align=\"center\" engine.opts='{\"extra.preamble\":[\"\\\\usepackage{libertine}\",\"\\\\usepackage{libertinust1math}\"],\"dvisvgm.opts\":\"--font-format=woff\"}'}\n::: {.cell-output-display}\n![Multilevel panel data structure, with yearly observations of $y$ nested in countries](why-hierarchical-models_files/figure-html/panel-structure-svg-1.svg){fig-align='center' width=100%}\n:::\n:::\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nbiggest_movers <- df_country_aid_laws %>% \n group_by(country) %>% \n filter(!any(total_oda == 0)) %>% \n summarize(across(c(v2csreprss, total_oda), lst(min, max, diff = ~max(.) - min(.))))\n\ntop_overall <- top_n(biggest_movers, 15, v2csreprss_diff) %>% \n filter(country %in% top_n(biggest_movers, 15, total_oda_diff)$country) %>% \n top_n(3, v2csreprss_diff)\n\ndf_cs_oda_highlight <- df_country_aid_laws %>% \n mutate(highlight_country = ifelse(country %in% top_overall$country, \n country, \"Other\"),\n highlight_country = factor(highlight_country, ordered = TRUE),\n highlight_country = fct_relevel(highlight_country, \"Other\", after = Inf)) %>% \n mutate(highlight = highlight_country != \"Other\")\n\nggplot(df_cs_oda_highlight, aes(x = v2csreprss, y = total_oda, group = country)) +\n geom_point(size = 0.15, alpha = 0.15) +\n geom_smooth(method = \"lm\", aes(group = NULL), color = clrs$Prism[6], \n linewidth = 1.25, linetype = \"21\", se = FALSE, formula = y ~ x) +\n geom_path(aes(color = highlight_country, size = highlight),\n arrow = arrow(type = \"open\", angle = 30, length = unit(0.75, \"lines\")),\n key_glyph = \"timeseries\") +\n scale_y_continuous(trans = \"log1p\", breaks = c(1e7, 1e8, 1e9, 1e10, 1e11),\n labels = label_dollar(scale_cut = cut_short_scale())) +\n scale_size_manual(values = c(0.075, 1.25), guide = \"none\") +\n scale_color_manual(values = c(clrs$Prism[2], clrs$Prism[7], clrs$Prism[9], \"grey50\"),\n guide = guide_legend(override.aes = list(linewidth = 1))) +\n coord_cartesian(ylim = c(1e7, 1e11)) +\n labs(x = \"Civil society repression\\n(Higher values represent less repression)\",\n y = \"Total ODA\", color = NULL, size = NULL) +\n theme_donors()\n## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.\n## ℹ Please use `linewidth` instead.\n```\n\n::: {.cell-output-display}\n![](why-hierarchical-models_files/figure-html/plot-biggest-movers-1.png){fig-align='center' width=80%}\n:::\n:::\n", 5 | "supporting": [ 6 | "why-hierarchical-models_files" 7 | ], 8 | "filters": [ 9 | "rmarkdown/pagebreak.lua" 10 | ], 11 | "includes": {}, 12 | "engineDependencies": {}, 13 | "preserve": {}, 14 | "postProcess": true 15 | } 16 | } -------------------------------------------------------------------------------- /_freeze/notebook/why-hierarchical-models/figure-html/panel-structure-svg-1.dvi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/why-hierarchical-models/figure-html/panel-structure-svg-1.dvi -------------------------------------------------------------------------------- /_freeze/notebook/why-hierarchical-models/figure-html/plot-biggest-movers-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/_freeze/notebook/why-hierarchical-models/figure-html/plot-biggest-movers-1.png -------------------------------------------------------------------------------- /_quarto.yml: -------------------------------------------------------------------------------- 1 | project: 2 | title: "NGO Crackdowns and Foreign Aid" 3 | type: website 4 | 5 | preview: 6 | port: 4444 7 | browser: true 8 | watch-inputs: false 9 | navigate: true 10 | 11 | render: 12 | # Render all .qmd files 13 | - "**/*.qmd" 14 | 15 | # Don't render anything in the manuscript folder because otherwise all the 16 | # output gets placed in _site/ only, which is annoying. Instead this folder 17 | # needs to be rendered separately, and *before* the overall website project 18 | # (which is doable since this whole build process is orchestrated by targets) 19 | - "!manuscript/" 20 | 21 | resources: 22 | # But *do* place the outputs from the manuscript in the rendered site folder 23 | - "manuscript/output/" 24 | - "manuscript/output-ms/" 25 | 26 | execute: 27 | # Re-render only when source changes 28 | freeze: auto 29 | 30 | bibliography: manuscript/bibliography.bib 31 | csl: manuscript/csl/chicago-author-date.csl 32 | 33 | website: 34 | repo-url: "https://github.com/andrewheiss/testy-turtle" 35 | repo-actions: [edit, issue] 36 | 37 | page-navigation: true 38 | 39 | navbar: 40 | pinned: true 41 | background: primary 42 | search: true 43 | left: 44 | - text: "Causal strategy" 45 | file: notebook/causal-model.qmd 46 | - text: "Data" 47 | file: notebook/get-merge-data.qmd 48 | - text: "General analysis" 49 | file: notebook/general-analysis.qmd 50 | - text: "Models" 51 | file: notebook/model-details.qmd 52 | - text: "Manuscript" 53 | file: notebook/manuscript.qmd 54 | right: 55 | - icon: github 56 | aria-label: github 57 | href: https://github.com/andrewheiss/testy-turtle 58 | 59 | sidebar: 60 | - title: "Models" 61 | style: docked 62 | background: light 63 | contents: 64 | - section: "Model background" 65 | contents: 66 | - notebook/why-hierarchical-models.qmd 67 | - notebook/model-tricky-outcomes.qmd 68 | - section: "Actual models" 69 | contents: 70 | - notebook/model-details.qmd 71 | - notebook/models_total-aid.qmd 72 | - notebook/models_aid-contentiousness.qmd 73 | - notebook/models_aid-recipients.qmd 74 | 75 | - title: "Causal strategy" 76 | contents: 77 | - section: "Causal strategy" 78 | contents: 79 | - notebook/causal-model.qmd 80 | - notebook/estimands.qmd 81 | 82 | - title: "Data" 83 | contents: 84 | - section: "Data" 85 | contents: 86 | - notebook/get-merge-data.qmd 87 | - notebook/targets.qmd 88 | 89 | - title: "Manuscript" 90 | contents: 91 | - section: "Manuscript" 92 | contents: 93 | - notebook/manuscript.qmd 94 | - notebook/software-citations.qmd 95 | - section: "Miscellaneous" 96 | contents: 97 | - notebook/design-details.qmd 98 | 99 | page-footer: 100 | left: | 101 | Content {{< fa brands creative-commons >}} 2017–2023 by Suparna Chaudhry and Andrew Heiss
102 | All content licensed under a {{< fa brands creative-commons >}} 103 | {{< fa brands creative-commons-by >}} {{< fa brands creative-commons-nc >}} 104 | [Creative Commons Attribution-NonCommercial 4.0 International license (CC BY-NC 4.0)](https://creativecommons.org/licenses/by-nc/4.0/) 105 | right: | 106 | Made with {{< fa brands r-project >}} and [Quarto](https://quarto.org/)
107 | [View the source at {{< fa brands github >}} GitHub](https://github.com/andrewheiss/testy-turtle) 108 | 109 | format: 110 | html: 111 | theme: 112 | - zephyr 113 | - notebook/html/custom.scss 114 | toc: true 115 | toc-location: right 116 | code-fold: true 117 | code-tools: true 118 | highlight-style: monokai 119 | 120 | language: 121 | title-block-published: "Date" 122 | -------------------------------------------------------------------------------- /_renv_packages.R: -------------------------------------------------------------------------------- 1 | library(testthat) 2 | library(zoo) 3 | library(car) 4 | library(emoji) 5 | library(Hmisc) 6 | library(bookdown) 7 | library(remotes) 8 | library(cmdstanr) 9 | library(latex2exp) 10 | -------------------------------------------------------------------------------- /_targets_packages.R: -------------------------------------------------------------------------------- 1 | # Generated by targets::tar_renv(): do not edit by hand 2 | library(bs4Dash) 3 | library(clustermq) 4 | library(future) 5 | library(gt) 6 | library(markdown) 7 | library(pingr) 8 | library(qs) 9 | library(rstudioapi) 10 | library(shiny) 11 | library(shinybusy) 12 | library(shinyWidgets) 13 | library(tidyverse) 14 | library(visNetwork) 15 | -------------------------------------------------------------------------------- /data/DO-NOT-EDIT-ANY-FILES-IN-HERE-BY-HAND: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/data/DO-NOT-EDIT-ANY-FILES-IN-HERE-BY-HAND -------------------------------------------------------------------------------- /data/manual_data/purpose_codes_contention.csv: -------------------------------------------------------------------------------- 1 | purpose_code_short,purpose_sector,purpose_category,purpose_contentiousness 2 | 100,Social,Social Infrastructure,Low 3 | 110,Social,Education,Low 4 | 111,Social,Education,Low 5 | 112,Social,Education,Low 6 | 113,Social,Education,Low 7 | 114,Social,Education,Low 8 | 120,Social,Health,Low 9 | 121,Social,Health,Low 10 | 122,Social,Health,Low 11 | 130,Social,Population,Low 12 | 140,Social,Water,Low 13 | 150,Social,Government,High 14 | 151,Social,Government,High 15 | 152,Social,Conflict,High 16 | 160,Social,Other,Low 17 | 200,Eco,Economic Infrastructure,Low 18 | 210,Eco,Transport,Low 19 | 220,Eco,Communication,Low 20 | 230,Eco,Energy,Low 21 | 240,Eco,Bank,Low 22 | 250,Eco,Business,Low 23 | 300,Prod,Production,Low 24 | 310,Prod,Agriculture,Low 25 | 311,Prod,Agriculture,Low 26 | 312,Prod,Forestry,Low 27 | 313,Prod,Fishing,Low 28 | 320,Prod,Industry,Low 29 | 321,Prod,Industry,Low 30 | 322,Prod,Mining,Low 31 | 323,Prod,Construction,Low 32 | 331,Prod,Trade,Low 33 | 332,Prod,Trade,Low 34 | 410,Multisector,Environment,Low 35 | 420,Multisector,Women in development,Low 36 | 430,Multisector,Other,Low 37 | 510,Non Sector,Programme Aid,Low 38 | 520,Non Sector,Food,Low 39 | 530,Non Sector,Programme Aid,Low 40 | 600,Non Sector,Debt,Low 41 | 700,Non Sector,Emergency,Low 42 | 720,Non Sector,Emergency,Low 43 | 730,Non Sector,Emergency,Low 44 | 740,Non Sector,Emergency,Low 45 | 910,Non Sector,Other,Low 46 | 920,Non Sector,Support to NGOs,Low 47 | 930,Non Sector,Other,Low 48 | 998,Non Sector,Other,Low 49 | -------------------------------------------------------------------------------- /data/manual_data/purpose_codes_contention_WILL_BE_OVERWRITTEN.csv: -------------------------------------------------------------------------------- 1 | purpose_code_short,purpose_sector,purpose_category,purpose_contentiousness 2 | 100,Social,Social Infrastructure, 3 | 110,Social,Education, 4 | 111,Social,Education, 5 | 112,Social,Education, 6 | 113,Social,Education, 7 | 114,Social,Education, 8 | 120,Social,Health, 9 | 121,Social,Health, 10 | 122,Social,Health, 11 | 130,Social,Population, 12 | 140,Social,Water, 13 | 150,Social,Government, 14 | 151,Social,Government, 15 | 152,Social,Conflict, 16 | 160,Social,Other, 17 | 200,Eco,Economic Infrastructure, 18 | 210,Eco,Transport, 19 | 220,Eco,Communication, 20 | 230,Eco,Energy, 21 | 240,Eco,Bank, 22 | 250,Eco,Business, 23 | 300,Prod,Production, 24 | 310,Prod,Agriculture, 25 | 311,Prod,Agriculture, 26 | 312,Prod,Forestry, 27 | 313,Prod,Fishing, 28 | 320,Prod,Industry, 29 | 321,Prod,Industry, 30 | 322,Prod,Mining, 31 | 323,Prod,Construction, 32 | 331,Prod,Trade, 33 | 332,Prod,Trade, 34 | 410,Multisector,Environment, 35 | 420,Multisector,Women in development, 36 | 430,Multisector,Other, 37 | 510,Non Sector,Programme Aid, 38 | 520,Non Sector,Food, 39 | 530,Non Sector,Programme Aid, 40 | 600,Non Sector,Debt, 41 | 700,Non Sector,Emergency, 42 | 720,Non Sector,Emergency, 43 | 730,Non Sector,Emergency, 44 | 740,Non Sector,Emergency, 45 | 910,Non Sector,Other, 46 | 920,Non Sector,Support to NGOs, 47 | 930,Non Sector,Other, 48 | 998,Non Sector,Other, 49 | -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | REMOTE_HOST="cloud" 2 | REMOTE_DIR="~/sites/stats/public_html/testy-turtle" 3 | REMOTE_DEST=$REMOTE_HOST:$REMOTE_DIR 4 | 5 | echo "Uploading new changes to remote server..." 6 | echo 7 | rsync -crvP --delete _site/ $REMOTE_DEST 8 | -------------------------------------------------------------------------------- /index.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Are Donors Really Responding? Analyzing the Impact of Global Restrictions on NGOs" 3 | author: "Suparna Chaudhry and Andrew Heiss" 4 | format: 5 | html: 6 | code-tools: false 7 | toc: false 8 | toc-location: body 9 | --- 10 | 11 | ## Abstract 12 | 13 | The previous three decades have seen a proliferation of anti-NGO legislation throughout the world, resulting in increasingly restricted space for civil society organizations to provide services or engage in advocacy. This is worrisome for Western donors because they channel a large amount of foreign aid and democracy assistance funds through NGOs. How do donors respond to this legal crackdown on NGOs? We use original data on civil society restrictions across 148 countries from 1981–2013 to assess the impact of these restrictions on total flows of foreign aid, how aid is distributed, and which issues are funded. We find that additional anti-NGO legal barriers—in particular, barriers to advocacy—decrease the amount of foreign channeled to restrictive countries. Besides reducing the amount of aid, donors also redirect funds within restrictive countries, decreasing funds for politically sensitive causes in favor of tamer issues that are more compatible with the governments of those countries. Finally, donors—USAID in particular—channel more aid to domestic over foreign NGOs in order to assuage target country concerns about external interference in domestic politics. Our findings have worrying implications for donors in the foreign aid and democracy promotion community, whose projects may be unsustainable in the face of this legal crackdown. 14 | 15 | ## Code 16 | 17 | All the raw code and data for this paper is available in a [GitHub repository](https://github.com/andrewheiss/testy-turtle). 18 | -------------------------------------------------------------------------------- /manuscript/.gitignore: -------------------------------------------------------------------------------- 1 | /.quarto/ 2 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah-manuscript/_extension.yml: -------------------------------------------------------------------------------- 1 | title: Hikmah Manuscript 2 | author: Andrew Heiss 3 | version: 0.0.6 4 | contributes: 5 | formats: 6 | common: 7 | date-format: full 8 | docx: 9 | reference-doc: "styles/reference.docx" 10 | knitr: 11 | opts_chunk: 12 | dev: "ragg_png" 13 | dpi: 300 14 | out.width: "80%" 15 | odt: 16 | template: "templates/odt-manuscript.odt" 17 | reference-doc: "styles/reference.odt" 18 | knitr: 19 | opts_chunk: 20 | dev: "ragg_png" 21 | dpi: 300 22 | out.width: "80%" 23 | pdf: 24 | documentclass: article 25 | papersize: letter 26 | fontsize: 12pt 27 | linestretch: 2 28 | 29 | # Template pieces 30 | template-partials: 31 | - "partials/title.tex" 32 | - "partials/before-body.tex" 33 | include-in-header: 34 | - "include-in-header.tex" 35 | 36 | # Document styling 37 | geometry: 38 | - top=1in 39 | - bottom=1in 40 | - left=1in 41 | - right=1in 42 | 43 | # Citations and links 44 | colorlinks: true 45 | linkcolor: DarkSlateBlue 46 | urlcolor: DarkSlateBlue 47 | citecolor: DarkSlateBlue 48 | link-citations: true 49 | 50 | biblio-title: "References" 51 | biblio-config: false # Don't use the default template's biblatex commands 52 | cite-method: biblatex 53 | biblatex-chicago: false # Custom flag for enabling biblatex-chicago 54 | biblio-style: apa 55 | biblatexoptions: 56 | - backend=biber 57 | 58 | # The titlesec package provides its own mechanism for dealing with 59 | # inline/block headings, so we need to disable pandoc's support for it 60 | # (see https://stackoverflow.com/q/42916124/120898) 61 | block-headings: false 62 | # Indent paragraphs instead of adding space between them 63 | indent: true 64 | html: 65 | theme: styles/pretty.scss 66 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah-manuscript/include-in-header.tex: -------------------------------------------------------------------------------- 1 | % ----------------------- 2 | % CUSTOM PREAMBLE STUFF 3 | % ----------------------- 4 | 5 | % ----------------- 6 | % Typography tweaks 7 | % ----------------- 8 | % Indent size 9 | \setlength{\parindent}{0.5in} 10 | \setlength{\leftmargin}{0.5in} 11 | 12 | % Fix widows and orphans 13 | \usepackage[all,defaultlines=2]{nowidow} 14 | 15 | % List things 16 | \usepackage{enumitem} 17 | % Same document-level indentation for ordered and ordered lists 18 | \setlist[1]{labelindent=\parindent} 19 | \setlist[itemize]{leftmargin=*} 20 | \setlist[enumerate]{leftmargin=*} 21 | 22 | % Wrap definition list terms 23 | % https://tex.stackexchange.com/a/9763/11851 24 | \setlist[description]{style=unboxed} 25 | 26 | 27 | % For better TOCs 28 | \usepackage{tocloft} 29 | 30 | % Remove left margin in lists inside longtables 31 | % https://tex.stackexchange.com/a/378190/11851 32 | \AtBeginEnvironment{longtable}{\setlist[itemize]{nosep, wide=0pt, leftmargin=*, before=\vspace*{-\baselineskip}, after=\vspace*{-\baselineskip}}} 33 | 34 | % For fancy ORCID links 35 | \usepackage{orcidlink} 36 | 37 | % Indent all first paragraphs because APA wants that 38 | \usepackage{indentfirst} 39 | 40 | 41 | % ----------------- 42 | % Title block stuff 43 | % ----------------- 44 | 45 | % Abstract 46 | \usepackage{abstract} 47 | \renewcommand{\abstractnamefont}{\normalfont\normalsize\bfseries} 48 | \renewcommand{\abstracttextfont}{\normalsize} 49 | \setlength{\absleftindent}{\parindent} 50 | \setlength{\absrightindent}{\parindent} 51 | 52 | 53 | % Keywords 54 | \providecommand{\keywords}[1]{\textbf{\textit{Keywords---}}#1} 55 | 56 | % Title 57 | \usepackage{titling} 58 | \setlength{\droptitle}{2\baselineskip} 59 | \pretitle{\begin{center}\normalfont\normalsize\bfseries} 60 | \posttitle{\par\end{center}\vspace{2\baselineskip}} 61 | 62 | 63 | % ------------------ 64 | % Section headings 65 | % ------------------ 66 | \usepackage{titlesec} 67 | \titleformat*{\section}{\center\normalsize\bfseries} 68 | \titleformat*{\subsection}{\normalsize\bfseries} 69 | \titleformat*{\subsubsection}{\normalsize\bfseries\itshape} 70 | \titleformat{\paragraph}[runin]{\bfseries}{\theparagraph.}{3pt}{\space}[.] 71 | \titleformat{\subparagraph}[runin]{\bfseries\itshape}{\thesubparagraph.}{3pt}{\space}[.] 72 | 73 | % \titlespacing{}{}{}{} 74 | % Starred version removes indentation in following paragraph 75 | \titlespacing*{\section}{0em}{2em}{0em} 76 | \titlespacing*{\subsection}{0em}{1em}{0em} 77 | \titlespacing*{\subsubsection}{0em}{0em}{0em} 78 | \titlespacing*{\paragraph}{\parindent}{1ex}{1em} 79 | \titlespacing*{\subparagraph}{\parindent}{1ex}{1em} 80 | 81 | 82 | % ----------- 83 | % Footnotes 84 | % ----------- 85 | % NB: footmisc has to come after biblatex because of conflicts 86 | \usepackage[bottom]{footmisc} 87 | \renewcommand*{\footnotelayout}{\footnotesize} 88 | 89 | \addtolength{\skip\footins}{12pt} % vertical space between rule and main text 90 | \setlength{\footnotesep}{16pt} % vertical space between footnotes 91 | 92 | 93 | % ---------- 94 | % Captions 95 | % ---------- 96 | \usepackage[font=normalsize]{caption} 97 | 98 | 99 | % -------- 100 | % Macros 101 | % -------- 102 | % pandoc will not convert text within \begin{} XXX \end{} to Markdown and will 103 | % treat it as regular TeX. Because of this, it's impossible to do stuff like 104 | % this: 105 | 106 | % \begin{landscape} 107 | % 108 | % | One | Two | 109 | % |-----+-------| 110 | % | my | table | 111 | % | is | nice | 112 | % 113 | % \end{landscape} 114 | % 115 | % Since it'll render like: | One | Two | |—–+——-| | my | table | | is | nice | 116 | % 117 | % BUT, from this http://stackoverflow.com/a/41945462/120898 we can get around 118 | % this by creating new commands for \begin and \end, like this: 119 | \newcommand{\blandscape}{\begin{landscape}} 120 | \newcommand{\elandscape}{\end{landscape}} 121 | 122 | % \blandscape 123 | % 124 | % | One | Two | 125 | % |-----+-------| 126 | % | my | table | 127 | % | is | nice | 128 | % 129 | % \elandscape 130 | 131 | % Same thing, but for generic groups 132 | % But can't use \bgroup and \egroup because those are built-in TeX things 133 | \newcommand{\stgroup}{\begingroup} 134 | \newcommand{\fingroup}{\endgroup} 135 | 136 | 137 | % --------------------------- 138 | % END CUSTOM PREAMBLE STUFF 139 | % --------------------------- 140 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah-manuscript/partials/before-body.tex: -------------------------------------------------------------------------------- 1 | % --------------- 2 | % TITLE SECTION 3 | % --------------- 4 | 5 | \begin{titlepage} 6 | \center 7 | 8 | % Don't include a newpage before \maketitle 9 | {\let\newpage\relax\maketitle} 10 | 11 | % Needs to come after \maketitle 12 | \thispagestyle{title} 13 | 14 | \vspace{0.25in} 15 | 16 | $if(word-count)$ 17 | {\center Word count: $word-count$} 18 | $endif$ 19 | 20 | \vspace{0.5in} 21 | 22 | \begin{center} 23 | 24 | \textbf{Author note} 25 | 26 | $for(by-author)$ 27 | \raggedright\setlength{\parindent}{0.5in}$it.name.literal$$if(it.orcid)$,~\orcidlink{$it.orcid$}~\url{https://orcid.org/$it.orcid$}$endif$$if(it.metadata.title)$, $it.metadata.title$$if(it.affiliations)$, $for(it.affiliations)$$if(it.department)$$it.department$, $endif$$it.name$$sep$; $endfor$ $endif$$endif$ 28 | 29 | $endfor$ 30 | 31 | \end{center} 32 | 33 | $if(correspondence-prefix)$ 34 | \begin{center} 35 | 36 | \textbf{Correspondence} 37 | 38 | $for(by-author)$ 39 | $if(it.attributes.corresponding)$ 40 | \par\raggedright\setlength{\parindent}{0.5in}$correspondence-prefix$~$it.name.literal$$if(it.email)$ (\href{mailto:$it.email$}{$it.email$})$endif$$if(it.affiliations)$, $for(it.affiliations)$$if(it.department)$$it.department$, $endif$$it.name$, $if(it.address)$$it.address$, $endif$$if(it.city)$$it.city$, $endif$$if(it.region)$$it.region$ $endif$$if(it.postal-code)$$it.postal-code$$endif$$if(it.country)$, $it.country$$endif$$sep$; $endfor$ $endif$ 41 | $endif$ 42 | $endfor$ 43 | 44 | \end{center} 45 | $endif$ 46 | 47 | $if(additional-info)$ 48 | \begin{center} 49 | 50 | \textbf{Additional information} 51 | 52 | \par\raggedright\setlength{\parindent}{0.5in}$additional-info$ 53 | 54 | \end{center} 55 | $endif$ 56 | 57 | $if(thanks)$ 58 | \begin{center} 59 | 60 | \textbf{Acknowledgments} 61 | 62 | \par\raggedright\setlength{\parindent}{0.5in}$thanks$ 63 | 64 | \end{center} 65 | $endif$ 66 | 67 | \vfill % Fill the rest of the page with whitespace 68 | 69 | \end{titlepage} 70 | 71 | \doublespacing 72 | 73 | $if(abstract)$ 74 | \begin{abstract} 75 | \noindent $abstract$ 76 | \end{abstract} 77 | 78 | \vspace{\baselineskip} 79 | 80 | $if(keywords)$\indent \keywords{% 81 | $for(keywords)$$keywords$$sep$, $endfor$% 82 | }$endif$ 83 | 84 | \newpage 85 | $endif$ 86 | 87 | \begin{center} 88 | \singlespacing 89 | \textbf{$title$$if(subtitle)$:\\$subtitle$$endif$} 90 | \end{center} 91 | 92 | $if(epigraph)$ 93 | $for(epigraph)$ 94 | $if(epigraph.source)$ 95 | \epigraph{$epigraph.text$}{---$epigraph.source$} 96 | $else$ 97 | \epigraph{$epigraph.text$} 98 | $endif$ 99 | $endfor$ 100 | $endif$ 101 | 102 | % ------------------- 103 | % END TITLE SECTION 104 | % ------------------- 105 | 106 | 107 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah-manuscript/partials/title.tex: -------------------------------------------------------------------------------- 1 | % ----------------------- 2 | % END-OF-PREAMBLE STUFF 3 | % ----------------------- 4 | 5 | % For patching commands like \subtitle 6 | \usepackage{etoolbox} 7 | 8 | 9 | $if(left-aligned)$ 10 | % ----------- 11 | % Epigraphs 12 | % ----------- 13 | \usepackage[document]{ragged2e} 14 | \setlength{\RaggedRightParindent}{\parindent} 15 | \setlength{\RaggedRightRightskip}{0pt plus 3em} 16 | $endif$ 17 | 18 | $if(endnotes)$ 19 | % ---------- 20 | % Endnotes 21 | % ---------- 22 | \usepackage{endnotes} 23 | \renewcommand{\enotesize}{\normalsize} 24 | \let\footnote=\endnote 25 | $endif$ 26 | 27 | % ----------------- 28 | % Running headers 29 | % ----------------- 30 | 31 | \usepackage{fancyhdr} 32 | \setlength{\headheight}{0.25in} 33 | \renewcommand{\headrulewidth}{0pt} % Remove lines 34 | \renewcommand{\footrulewidth}{0pt} 35 | 36 | % SHORT TITLE Page # 37 | \fancypagestyle{normal}{ 38 | \fancyhf{} 39 | \lhead{\uppercase{$if(short-title)$ $short-title$ $else$ $title$ $endif$}} 40 | \rhead{\thepage} 41 | } 42 | 43 | % Running head: SHORT TITLE Page # 44 | \fancypagestyle{title}{ 45 | \fancyhf{} 46 | \lhead{Running head: \uppercase{$if(short-title)$ $short-title$ $else$ $title$ $endif$}} 47 | \rhead{} 48 | } 49 | 50 | % Use regular heading style 51 | \pagestyle{normal} 52 | 53 | 54 | $if(epigraph)$ 55 | % ----------- 56 | % Epigraphs 57 | % ----------- 58 | \usepackage{epigraph} 59 | \renewcommand{\epigraphsize}{\footnotesize} 60 | \setlength{\epigraphrule}{0em} 61 | \setlength{\beforeepigraphskip}{0em} 62 | \setlength{\afterepigraphskip}{1em} 63 | $endif$ 64 | 65 | $if(biblatex)$ 66 | % ---------- 67 | % BibLaTeX 68 | % ---------- 69 | $if(biblatex-chicago)$ 70 | \usepackage[$if(biblio-style)$$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex-chicago} 71 | $else$ 72 | \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} 73 | $endif$ 74 | 75 | \setlength\bibitemsep{0pt} % No space between bib entries 76 | \setlength\bibhang{\parindent} % Match document indentation 77 | 78 | % Fix biblatex's odd preference for using In: by default. 79 | \renewbibmacro{in:}{% 80 | \ifentrytype{article}{}{% 81 | \printtext{\bibstring{}\intitlepunct}}} 82 | 83 | \addbibresource{$bibliography$} 84 | 85 | % Start bibliography on new page 86 | \pretocmd{\printbibliography}{\clearpage}{}{} 87 | $endif$ 88 | 89 | % ---------------------- 90 | % Title block elements 91 | % ---------------------- 92 | \usepackage{authblk} 93 | \renewcommand*{\Authsep}{, } 94 | \renewcommand*{\Authand}{ and } 95 | \renewcommand*{\Authands}{, and } 96 | \renewcommand*{\Affilfont}{\normalsize} 97 | \renewcommand*{\Authfont}{\normalsize} 98 | 99 | $if(title)$ 100 | \title{$title$$if(subtitle)$:$endif$} 101 | $endif$ 102 | 103 | $if(subtitle)$ 104 | \makeatletter 105 | \providecommand{\subtitle}[1]{% add subtitle to \maketitle 106 | \apptocmd{\@title}{\par #1 \par}{}{} 107 | } 108 | \makeatother 109 | \subtitle{$subtitle$} 110 | $endif$ 111 | 112 | $for(by-author)$ 113 | \author[$for(it.affiliations)$$it.number$$sep$,$endfor$]{$by-author.name.literal$} 114 | $endfor$ 115 | 116 | $for(by-affiliation)$ 117 | \affil[$it.number$]{$it.name$} 118 | $endfor$ 119 | 120 | \date{} 121 | 122 | 123 | % Typeset URLs in the same font as their parent environment 124 | % 125 | % This has to come at the end of the preamble, after any biblatex stuff because 126 | % some biblatex styles (like APA) define their own \urlstyle{} 127 | \usepackage{url} 128 | \urlstyle{same} 129 | 130 | 131 | % Make sure math environments are always single spaced and have a little space after 132 | \let\oldDisplayMath=\[ 133 | \let\endoldDisplayMath=\] 134 | \renewcommand{\[}{\begin{singlespace}\oldDisplayMath} 135 | \renewcommand{\]}{\endoldDisplayMath\end{singlespace}\vspace{\baselineskip}} 136 | 137 | % --------------------------- 138 | % END END-OF-PREAMBLE STUFF 139 | % --------------------------- 140 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah-manuscript/styles/reference.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/manuscript/_extensions/andrewheiss/hikmah-manuscript/styles/reference.docx -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah-manuscript/styles/reference.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/manuscript/_extensions/andrewheiss/hikmah-manuscript/styles/reference.odt -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah-manuscript/templates/odt-manuscript.odt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | $automatic-styles$ 12 | 13 | $for(header-includes)$ 14 | $header-includes$ 15 | $endfor$ 16 | 17 | 18 | 19 | $if(title)$ 20 | $title$ 21 | $endif$ 22 | $if(subtitle)$ 23 | $subtitle$ 24 | $endif$ 25 | 26 | $for(author)$ 27 | $author$ 28 | $endfor$ 29 | 30 | $if(date)$ 31 | $date$ 32 | $endif$ 33 | 34 | Author note 35 | TODO: List of authors here; there's a bug(?) in pandoc/quarto where the full author object isn't available? 36 | 37 | $if(correspondence-prefix)$ 38 | Correspondence 39 | TODO: Corresponding author details; again there's a bug that make it so we can't access other parts of the author object 40 | $endif$ 41 | 42 | $if(additional-info)$ 43 | Additional information 44 | $additional-info$ 45 | $endif$ 46 | 47 | $if(thanks)$ 48 | Acknowledgments 49 | $thanks$ 50 | $endif$ 51 | 52 |   53 | 54 | $if(abstract)$ 55 | Abstract 56 | $abstract$ 57 | $endif$ 58 | 59 | $if(keywords)$ 60 | Keywords: $for(keywords)$$keywords$$sep$, $endfor$ 61 | $endif$ 62 | 63 |   64 | 65 | $if(title)$ 66 | $title$ 67 | $endif$ 68 | $if(subtitle)$ 69 | $subtitle$ 70 | $endif$ 71 | 72 | $if(epigraph)$ 73 | $for(epigraph)$ 74 | $if(epigraph.source)$ 75 | $epigraph.text$ 76 | —$epigraph.source$ 77 | 78 | $else$ 79 | $epigraph.text$ 80 | 81 | $endif$ 82 | $endfor$ 83 | $endif$ 84 | 85 | $for(include-before)$ 86 | $include-before$ 87 | $endfor$ 88 | $body$ 89 | $for(include-after)$ 90 | $include-after$ 91 | $endfor$ 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah/_extension.yml: -------------------------------------------------------------------------------- 1 | title: Hikmah 2 | author: Andrew Heiss 3 | version: 0.0.3 4 | contributes: 5 | formats: 6 | common: 7 | date-format: full 8 | pdf: 9 | # Template pieces 10 | template-partials: 11 | - "partials/title.tex" 12 | - "partials/before-body.tex" 13 | include-in-header: 14 | - "include-in-header.tex" 15 | 16 | # Document styling 17 | geometry: 18 | - top=10pc # 10p0 19 | - bottom=10pc # 10p0 20 | - left=11pc # 11p0 21 | - right=11pc # 11p0 22 | - heightrounded 23 | 24 | # Citations and links 25 | colorlinks: true 26 | linkcolor: DarkSlateBlue 27 | urlcolor: DarkSlateBlue 28 | citecolor: DarkSlateBlue 29 | link-citations: true 30 | 31 | biblio-title: "References" 32 | biblio-config: false # Don't use the default template's biblatex commands 33 | cite-method: biblatex 34 | biblatex-chicago: false # Custom flag for enabling biblatex-chicago 35 | biblio-style: apa 36 | biblatexoptions: 37 | - backend=biber 38 | 39 | # The titlesec package provides its own mechanism for dealing with 40 | # inline/block headings, so we need to disable pandoc's support for it 41 | # (see https://stackoverflow.com/q/42916124/120898) 42 | block-headings: false 43 | # Indent paragraphs instead of adding space between them 44 | indent: true 45 | html: 46 | theme: styles/pretty.scss 47 | template-partials: 48 | - "partials/title-block.html" 49 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah/include-in-header.tex: -------------------------------------------------------------------------------- 1 | % ----------------------- 2 | % CUSTOM PREAMBLE STUFF 3 | % ----------------------- 4 | 5 | % ----------------- 6 | % Typography tweaks 7 | % ----------------- 8 | % Indent size 9 | \setlength{\parindent}{1pc} % 1p0 10 | 11 | % Fix widows and orphans 12 | \usepackage[all,defaultlines=2]{nowidow} 13 | 14 | % List things 15 | \usepackage{enumitem} 16 | % Same document-level indentation for ordered and ordered lists 17 | \setlist[1]{labelindent=\parindent} 18 | \setlist[itemize]{leftmargin=*} 19 | \setlist[enumerate]{leftmargin=*} 20 | 21 | % Wrap definition list terms 22 | % https://tex.stackexchange.com/a/9763/11851 23 | \setlist[description]{style=unboxed} 24 | 25 | 26 | % For better TOCs 27 | \usepackage{tocloft} 28 | 29 | % Remove left margin in lists inside longtables 30 | % https://tex.stackexchange.com/a/378190/11851 31 | \AtBeginEnvironment{longtable}{\setlist[itemize]{nosep, wide=0pt, leftmargin=*, before=\vspace*{-\baselineskip}, after=\vspace*{-\baselineskip}}} 32 | 33 | 34 | % ----------------- 35 | % Title block stuff 36 | % ----------------- 37 | 38 | % Abstract 39 | \usepackage[overload]{textcase} 40 | \usepackage[runin]{abstract} 41 | \renewcommand{\abstractnamefont}{\sffamily\footnotesize\bfseries\MakeUppercase} 42 | \renewcommand{\abstracttextfont}{\sffamily\small} 43 | \setlength{\absleftindent}{\parindent * 2} 44 | \setlength{\absrightindent}{\parindent * 2} 45 | \abslabeldelim{\quad} 46 | \setlength{\abstitleskip}{-\parindent} 47 | 48 | 49 | % Keywords 50 | \newenvironment{keywords} 51 | {\vskip -3em \hspace{\parindent}\small\sffamily{\sffamily\footnotesize\bfseries\MakeUppercase{Keywords}}\quad} 52 | {\vskip 3em} 53 | 54 | 55 | % Title 56 | \usepackage{titling} 57 | \setlength{\droptitle}{3em} 58 | \pretitle{\par\vskip 5em \begin{flushleft}\LARGE\sffamily\bfseries} 59 | \posttitle{\par\end{flushleft}\vskip 0.75em} 60 | 61 | 62 | % Authors 63 | % 64 | % PHEW this is complicated for a number of reasons! 65 | % 66 | % When using \and with multiple authors, the article class in LaTeX wraps each 67 | % author block in a tabluar environment with a hardcoded center alignment. It's 68 | % possible to use \preauthor{} to start tabulars with a left alignment {l}, but 69 | % that only applies to the first author because the others all use \and with the 70 | % hardcoded {c}. But we can override the \and command and add our own {l} 71 | % 72 | % (See https://github.com/rstudio/rmarkdown/issues/1716#issuecomment-560601691 73 | % for an example of redefining \and to just be \\) 74 | % 75 | % That's all great, except tabulars have some amount of default horizontal 76 | % padding, which makes left-aligned author blocks not actuall get fully 77 | % left-aligned on the page. We can set the horizontal padding for the column to 78 | % 0, but it requires some wonky syntax: {@{\hspace{0em}}l@{}} 79 | \renewcommand{\and}{\end{tabular} \hskip 3em \begin{tabular}[t]{@{\hspace{0em}}l@{}}} 80 | \preauthor{\begin{flushleft} 81 | \lineskip 1.5em 82 | \begin{tabular}[t]{@{\hspace{0em}}l@{}}} 83 | \postauthor{\end{tabular}\par\end{flushleft}} 84 | 85 | % Omit the date since the \published command does that 86 | \predate{} 87 | \postdate{} 88 | 89 | % Command for a note at the top of the first page describing the publication 90 | % status of the paper. 91 | \newcommand{\published}[1]{% 92 | \gdef\puB{#1}} 93 | \newcommand{\puB}{} 94 | \renewcommand{\maketitlehooka}{% 95 | \par\noindent\footnotesize\sffamily \puB} 96 | 97 | 98 | % ------------------ 99 | % Section headings 100 | % ------------------ 101 | \usepackage{titlesec} 102 | \titleformat*{\section}{\Large\sffamily\bfseries\raggedright} 103 | \titleformat*{\subsection}{\large\sffamily\bfseries\raggedright} 104 | \titleformat*{\subsubsection}{\normalsize\sffamily\bfseries\raggedright} 105 | \titleformat*{\paragraph}{\small\sffamily\bfseries\raggedright} 106 | 107 | % \titlespacing{}{}{}{} 108 | % Starred version removes indentation in following paragraph 109 | \titlespacing*{\section}{0em}{2em}{0.1em} 110 | \titlespacing*{\subsection}{0em}{1.25em}{0.1em} 111 | \titlespacing*{\subsubsection}{0em}{0.75em}{0em} 112 | 113 | 114 | % ----------- 115 | % Footnotes 116 | % ----------- 117 | % NB: footmisc has to come after biblatex because of conflicts 118 | \usepackage[bottom, flushmargin]{footmisc} 119 | \renewcommand*{\footnotelayout}{\footnotesize} 120 | 121 | \addtolength{\skip\footins}{10pt} % vertical space between rule and main text 122 | \setlength{\footnotesep}{5pt} % vertical space between footnotes 123 | 124 | 125 | % ---------- 126 | % Captions 127 | % ---------- 128 | \usepackage[font={small,sf}, labelfont={small,sf,bf}]{caption} 129 | 130 | 131 | % -------- 132 | % Macros 133 | % -------- 134 | % pandoc will not convert text within \begin{} XXX \end{} to Markdown and will 135 | % treat it as regular TeX. Because of this, it's impossible to do stuff like 136 | % this: 137 | 138 | % \begin{landscape} 139 | % 140 | % | One | Two | 141 | % |-----+-------| 142 | % | my | table | 143 | % | is | nice | 144 | % 145 | % \end{landscape} 146 | % 147 | % Since it'll render like: | One | Two | |—–+——-| | my | table | | is | nice | 148 | % 149 | % BUT, from this http://stackoverflow.com/a/41945462/120898 we can get around 150 | % this by creating new commands for \begin and \end, like this: 151 | \newcommand{\blandscape}{\begin{landscape}} 152 | \newcommand{\elandscape}{\end{landscape}} 153 | 154 | % \blandscape 155 | % 156 | % | One | Two | 157 | % |-----+-------| 158 | % | my | table | 159 | % | is | nice | 160 | % 161 | % \elandscape 162 | 163 | % Same thing, but for generic groups 164 | % But can't use \bgroup and \egroup because those are built-in TeX things 165 | \newcommand{\stgroup}{\begingroup} 166 | \newcommand{\fingroup}{\endgroup} 167 | 168 | 169 | % --------------------------- 170 | % END CUSTOM PREAMBLE STUFF 171 | % --------------------------- 172 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah/partials/before-body.tex: -------------------------------------------------------------------------------- 1 | % --------------- 2 | % TITLE SECTION 3 | % --------------- 4 | $if(published)$ 5 | $if(code-repo)$ 6 | \published{\textbf{$date$} \qquad $published$ \\ {\scriptsize $code-repo$}} 7 | $else$ 8 | \published{\textbf{$date$} \qquad {\scriptsize $published$}} 9 | $endif$ 10 | $else$ 11 | $if(code-repo)$ 12 | \published{\textbf{$date$} \\ {\scriptsize $code-repo$}} 13 | $else$ 14 | \published{\textbf{$date$}} 15 | $endif$ 16 | $endif$ 17 | 18 | $if(title)$ 19 | \maketitle 20 | $endif$ 21 | 22 | $if(abstract)$ 23 | \begin{abstract} 24 | $abstract$ 25 | \end{abstract} 26 | \vskip 3em 27 | $endif$ 28 | 29 | $if(keywords)$ 30 | \begin{keywords} 31 | \def\sep{;\ } 32 | $for(keywords/allbutlast)$$keywords$\sep $endfor$ 33 | $for(keywords/last)$$keywords$$endfor$ 34 | \end{keywords} 35 | $endif$ 36 | 37 | $if(epigraph)$ 38 | $for(epigraph)$ 39 | $if(epigraph.source)$ 40 | \epigraph{$epigraph.text$}{---$epigraph.source$} 41 | $else$ 42 | \epigraph{$epigraph.text$} 43 | $endif$ 44 | $endfor$ 45 | $endif$ 46 | % ------------------- 47 | % END TITLE SECTION 48 | % ------------------- 49 | 50 | 51 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah/partials/title-block.html: -------------------------------------------------------------------------------- 1 |
2 | $if(title)$

HEYYY $title$

$endif$ 3 | $if(subtitle)$ 4 |

$subtitle$

5 | $endif$ 6 | $for(author)$ 7 |

$author$

8 | $endfor$ 9 | 10 | $if(date)$ 11 |

$date$

12 | $endif$ 13 | $if(abstract)$ 14 |
15 |
$abstract-title$
16 | $abstract$ 17 |
18 | $endif$ 19 |
20 | $if(epigraph)$ 21 |
22 |
23 | $for(epigraph)$ 24 |
25 |

$epigraph.text$

26 |
27 | $if(epigraph.source)$ 28 | 31 | $endif$ 32 | $endfor$ 33 |
34 |
35 | $endif$ 36 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah/partials/title.tex: -------------------------------------------------------------------------------- 1 | % ----------------------- 2 | % END-OF-PREAMBLE STUFF 3 | % ----------------------- 4 | 5 | $if(epigraph)$ 6 | % ----------- 7 | % Epigraphs 8 | % ----------- 9 | \usepackage{epigraph} 10 | \renewcommand{\epigraphsize}{\sffamily\footnotesize} 11 | \setlength{\epigraphrule}{0em} 12 | \setlength{\beforeepigraphskip}{-2em} 13 | \setlength{\afterepigraphskip}{1em} 14 | $endif$ 15 | 16 | $if(biblatex)$ 17 | % ---------- 18 | % BibLaTeX 19 | % ---------- 20 | $if(biblatex-chicago)$ 21 | \usepackage[$if(biblio-style)$$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex-chicago} 22 | $else$ 23 | \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} 24 | $endif$ 25 | 26 | \setlength\bibitemsep{0pt} % No space between bib entries 27 | \renewcommand*{\bibfont}{\footnotesize} % Use smaller font 28 | \setlength\bibhang{\parindent} % Match document indentation 29 | 30 | % Fix biblatex's odd preference for using In: by default. 31 | \renewbibmacro{in:}{% 32 | \ifentrytype{article}{}{% 33 | \printtext{\bibstring{}\intitlepunct}}} 34 | 35 | \addbibresource{$bibliography$} 36 | $endif$ 37 | 38 | % ---------------------- 39 | % Title block elements 40 | % ---------------------- 41 | \usepackage{orcidlink} % Create automatic ORCID icons/links 42 | 43 | $if(title)$ 44 | \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} 45 | $endif$ 46 | 47 | $if(subtitle)$ 48 | \usepackage{etoolbox} 49 | \makeatletter 50 | \providecommand{\subtitle}[1]{% add subtitle to \maketitle 51 | \apptocmd{\@title}{\par {\vskip 0.25em \large #1 \par}}{}{} 52 | } 53 | \makeatother 54 | \subtitle{$subtitle$} 55 | $endif$ 56 | 57 | \author{ 58 | $for(by-author)$ 59 | {\large $it.name.literal$$if(it.orcid)$~\orcidlink{$it.orcid$}$endif$}% 60 | $if(it.attributes.corresponding)$\thanks{Corresponding author.}$endif$ \\% 61 | $for(it.affiliations)$$it.name$ \\$endfor$% 62 | {\footnotesize \url{$it.email$}} \and 63 | $endfor$ 64 | } 65 | 66 | \date{} 67 | 68 | 69 | % Typeset URLs in the same font as their parent environment 70 | % 71 | % This has to come at the end of the preamble, after any biblatex stuff because 72 | % some biblatex styles (like APA) define their own \urlstyle{} 73 | \usepackage{url} 74 | \urlstyle{same} 75 | 76 | % --------------------------- 77 | % END END-OF-PREAMBLE STUFF 78 | % --------------------------- 79 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/hikmah/styles/pretty.scss: -------------------------------------------------------------------------------- 1 | /*-- scss:defaults --*/ 2 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/wordcount/_extension.yml: -------------------------------------------------------------------------------- 1 | title: Quarto Word Count 2 | author: Andrew Heiss 3 | version: 1.1.2 4 | quarto-required: ">=1.3.0" 5 | contributes: 6 | format: 7 | common: 8 | filters: 9 | - at: pre-render 10 | path: "citeproc.lua" 11 | - at: pre-render 12 | path: "wordcount.lua" 13 | citeproc: false 14 | html: default 15 | pdf: default 16 | docx: default 17 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/wordcount/citeproc.lua: -------------------------------------------------------------------------------- 1 | -- Lua filter that behaves like `--citeproc` 2 | function Pandoc (doc) 3 | return pandoc.utils.citeproc(doc) 4 | end 5 | -------------------------------------------------------------------------------- /manuscript/_extensions/andrewheiss/wordcount/wordcount.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | Counts words in a document 3 | 4 | Images and tables are ignored; words in text body do not include referece section 5 | 6 | This filter is an adapted mixture of 7 | https://github.com/pandoc/lua-filters/blob/master/wordcount/wordcount.lua 8 | and 9 | https://github.com/pandoc/lua-filters/blob/master/section-refs/section-refs.lua 10 | ]] 11 | 12 | local body_words = 0 13 | local ref_words = 0 14 | local appendix_words = 0 15 | 16 | function is_table (blk) 17 | return (blk.t == "Table") 18 | end 19 | 20 | function is_image (blk) 21 | return (blk.t == "Image") 22 | end 23 | 24 | function remove_all_tables_images (blks) 25 | local out = {} 26 | for _, b in pairs(blks) do 27 | if not (is_table(b) or is_image(b)) then 28 | table.insert(out, b) 29 | end 30 | end 31 | return out 32 | end 33 | 34 | function is_ref_div (blk) 35 | return (blk.t == "Div" and blk.identifier == "refs") 36 | end 37 | 38 | function get_all_refs (blks) 39 | local out = {} 40 | for _, b in pairs(blks) do 41 | if is_ref_div(b) then 42 | table.insert(out, b) 43 | end 44 | end 45 | return out 46 | end 47 | 48 | function remove_all_refs (blks) 49 | local out = {} 50 | for _, b in pairs(blks) do 51 | if not (is_ref_div(b)) then 52 | table.insert(out, b) 53 | end 54 | end 55 | return out 56 | end 57 | 58 | -- Check if the block is an appendix div 59 | function is_appendix_div (blk) 60 | return (blk.t == "Div" and blk.identifier == "appendix-count") 61 | end 62 | 63 | -- Get all appendix divs 64 | function get_all_appendix (blks) 65 | local out = {} 66 | for _, b in pairs(blks) do 67 | if is_appendix_div(b) then 68 | table.insert(out, b) 69 | end 70 | end 71 | return out 72 | end 73 | 74 | -- Remove all appendix divs 75 | function remove_all_appendix (blks) 76 | local out = {} 77 | for _, b in pairs(blks) do 78 | if not is_appendix_div(b) then 79 | table.insert(out, b) 80 | end 81 | end 82 | return out 83 | end 84 | 85 | body_count = { 86 | Str = function(el) 87 | -- we don't count a word if it's entirely punctuation: 88 | if el.text:match("%P") then 89 | body_words = body_words + 1 90 | end 91 | end, 92 | 93 | Code = function(el) 94 | _,n = el.text:gsub("%S+","") 95 | body_words = body_words + n 96 | end, 97 | 98 | CodeBlock = function(el) 99 | _,n = el.text:gsub("%S+","") 100 | body_words = body_words + n 101 | end 102 | } 103 | 104 | ref_count = { 105 | Str = function(el) 106 | -- we don't count a word if it's entirely punctuation: 107 | if el.text:match("%P") then 108 | ref_words = ref_words + 1 109 | end 110 | end 111 | } 112 | 113 | -- Count words in the appendix 114 | appendix_count = { 115 | Str = function(el) 116 | -- we don't count a word if it's entirely punctuation: 117 | if el.text:match("%P") then 118 | appendix_words = appendix_words + 1 119 | end 120 | end 121 | } 122 | 123 | function Pandoc(el) 124 | if PANDOC_VERSION == nil then -- if pandoc_version < 2.1 125 | io.stderr:write("WARNING: pandoc >= 2.1 required for wordcount filter\n") 126 | return el 127 | end 128 | 129 | local untabled = remove_all_tables_images(el.blocks) 130 | 131 | refs_title = el.meta["reference-section-title"] 132 | local unreffed = remove_all_refs(untabled) 133 | 134 | -- Remove appendix divs from the blocks 135 | local unappended = remove_all_appendix(unreffed) 136 | -- Walk through the unappended blocks and count the words 137 | pandoc.walk_block(pandoc.Div(unappended), body_count) 138 | 139 | local body_words_out = body_words .. " words in text body" 140 | 141 | local refs = get_all_refs(untabled) 142 | pandoc.walk_block(pandoc.Div(refs), ref_count) 143 | local ref_words_out = ref_words .. " words in reference section" 144 | 145 | -- Get all appendix divs 146 | local appendix = get_all_appendix(unreffed) 147 | -- Walk through the appendix divs and count the words 148 | pandoc.walk_block(pandoc.Div(appendix), appendix_count) 149 | -- Print out the count of words in the appendix 150 | local appendix_words_out = appendix_words .. " words in appendix section" 151 | 152 | local total_words_out = "" 153 | if appendix_words > 0 then 154 | total_words_out = body_words + ref_words .. " in the main text + references, with " .. appendix_words .. " in the appendix" 155 | else 156 | total_words_out = body_words + ref_words + appendix_words .. " total words" 157 | end 158 | 159 | local longest_out = math.max(string.len(body_words_out), 160 | string.len(ref_words_out), 161 | string.len(total_words_out)) 162 | 163 | print(total_words_out) 164 | print(string.rep("-", longest_out)) 165 | print(body_words_out) 166 | print(ref_words_out) 167 | 168 | if appendix_words > 0 then 169 | print(appendix_words_out) 170 | end 171 | 172 | print() 173 | 174 | return el 175 | end 176 | -------------------------------------------------------------------------------- /manuscript/_output.yaml: -------------------------------------------------------------------------------- 1 | knit: stop('\n\nDon\'t knit with the "Knit" button in RStudio.\nRun one of these commands in an R console:\n\ntargets::tar_make(html)\ntargets::tar_make(pdf)\ntargets::tar_make(ms_pdf)\ntargets::tar_make(docx)\n\nYou can also run targets::tar_make() to build the whole project.\n\n') 2 | -------------------------------------------------------------------------------- /manuscript/_quarto-ms.yml: -------------------------------------------------------------------------------- 1 | project: 2 | output-dir: output-ms 3 | render: 4 | - manuscript.qmd 5 | 6 | format: 7 | # Manuscript-y PDF output 8 | hikmah-manuscript-pdf: 9 | cite-method: citeproc 10 | output-file: "manuscript-ms.pdf" 11 | # Custom fonts 12 | mainfont: "Linux Libertine O" 13 | mainfontoptions: 14 | - "Numbers=Proportional" 15 | - "Numbers=OldStyle" 16 | mathfont: "Libertinus Math" 17 | 18 | include-in-header: 19 | # The \everydisplay thing makes all math blocks use \small font 20 | text: | 21 | \usepackage{mathtools} 22 | \everydisplay\expandafter{\the\everydisplay\small } 23 | 24 | \usepackage{xeCJK} 25 | \setCJKmainfont{Noto Serif SC} 26 | 27 | % Add a little bit of extra space above minipages 28 | % for gt table footnotes 29 | \usepackage{etoolbox} 30 | \AtBeginEnvironment{minipage}{\vspace{\baselineskip}} 31 | 32 | knitr: 33 | opts_chunk: 34 | dev: "cairo_pdf" 35 | 36 | 37 | # Manuscript-y Word output 38 | hikmah-manuscript-odt: 39 | output-file: "manuscript-ms.odt" 40 | prefer-html: true 41 | 42 | knitr: 43 | opts_chunk: 44 | dev: "ragg_png" 45 | dpi: 300 46 | -------------------------------------------------------------------------------- /manuscript/_quarto-nice.yml: -------------------------------------------------------------------------------- 1 | project: 2 | output-dir: output 3 | render: 4 | - manuscript.qmd 5 | 6 | format: 7 | # Nice HTML output 8 | html: 9 | toc: true 10 | include-in-header: 11 | - text: | 12 | 17 | language: 18 | title-block-published: "Latest version" 19 | shift-heading-level-by: 1 20 | theme: 21 | - zephyr 22 | - html/custom.scss 23 | citeproc: false 24 | filters: 25 | - at: pre-render 26 | path: "_extensions/andrewheiss/wordcount/citeproc.lua" 27 | - at: pre-render 28 | path: "_extensions/andrewheiss/wordcount/wordcount.lua" 29 | lightbox: auto 30 | knitr: 31 | opts_chunk: 32 | dev: "ragg_png" 33 | dpi: 300 34 | 35 | 36 | # Nice PDF output 37 | hikmah-pdf: 38 | cite-method: citeproc 39 | 40 | # Custom fonts 41 | mainfont: "Linux Libertine O" 42 | mainfontoptions: 43 | - "Numbers=Proportional" 44 | - "Numbers=OldStyle" 45 | sansfont: "IBM Plex Sans" 46 | mathfont: "Libertinus Math" 47 | # linestretch: 1.05 48 | 49 | include-in-header: 50 | # The \everydisplay thing makes all math blocks use \small font 51 | text: | 52 | \usepackage{mathtools} 53 | \everydisplay\expandafter{\the\everydisplay\small} 54 | 55 | % Add a little bit of extra space above minipages 56 | % for gt table footnotes 57 | \usepackage{etoolbox} 58 | \AtBeginEnvironment{minipage}{\vspace{\baselineskip}} 59 | 60 | 61 | knitr: 62 | opts_chunk: 63 | dev: "cairo_pdf" 64 | -------------------------------------------------------------------------------- /manuscript/_quarto.yml: -------------------------------------------------------------------------------- 1 | project: 2 | title: "Manuscript" 3 | 4 | csl: csl/chicago-author-date.csl 5 | 6 | profile: 7 | default: nice 8 | -------------------------------------------------------------------------------- /manuscript/manuscript.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Are Donors Really Responding? Analyzing the Impact of Global Restrictions on NGOs" 3 | short-title: "Are Donors Really Responding?" 4 | author: 5 | - name: Suparna Chaudhry 6 | affiliation: Lewis & Clark College 7 | email: schaudhry@lclark.edu 8 | url: http://www.suparnachaudhry.com/ 9 | - name: Andrew Heiss 10 | affiliation: Georgia State University 11 | email: aheiss@gsu.edu 12 | url: https://www.andrewheiss.com/ 13 | date: "July 5, 2022" 14 | published: "Revising" 15 | code-repo: "Access the code and full analysis notebook at " 16 | abstract: >- 17 | Foreign donors routinely use nongovernmental organizations (NGOs) to deliver aid abroad. However, recent decades have witnessed a global cascade of restrictive anti-NGO legislation. How have foreign aid donors responded and adapted to this legal crackdown on NGOs? Using original data from all countries that received aid from 1981–2012, we assess the impact of anti-NGO laws on total flows of official foreign aid, the nature of projects funded, and the channels used for distributing this aid. Overall, we find that donors scale back their operations in repressive countries. However, rather than completely withdraw, we also find that donors redirect funds within restrictive countries by decreasing funds for politically sensitive issues in favor of regime-compatible causes. Donors also channel more aid through domestic rather than foreign NGOs; however, this change is by no means a perfect substitute. We conclude by discussing the implications of our findings for official aid donors, INGOs, and local groups working on contentious causes such as elections, human rights, media, corruption, and advocacy. 18 | keywords: NGOs, civil society, foreign aid, anti-NGO laws 19 | word-count: "" 20 | thanks: >- 21 | We thank Elizabeth Bloodgood, Sarah Bush, Magnus Lundgren, Christopher Pallas, the participants of the "Beyond the Boomerang" workshop held before the 2017 annual International Studies Association conference, and the participants of the 2017 Midwest Political Science Association conference for their helpful comments. We also acknowledge Lisa Argyle, Paul Bürkner, Ryan Davis, Adam Dynes, Isabella Ghement, Andrew Green, John Holbein, Tristan Mahr, Judith Kelley, Robbie Richards, and Simon Weschle for their invaluable help and advice. 22 | reference-section-title: References 23 | bibliography: bibliography.bib 24 | toc: false 25 | title-page: true 26 | endnotes: true 27 | endfloat: false 28 | mainfont: Cochineal 29 | sansfont: Inter 30 | author-note: >- 31 | Suparna Chaudhry, PhD, Assistant Professor of International Affairs, Department of International Affairs, Lewis \& Clark College; Andrew Heiss, PhD, Assistant Professor of Public Management, Andrew Young School of Policy Studies, Georgia State University. 32 | correspondence: >- 33 | Correspondence concerning this article should be addressed to Andrew Heiss, PhD, Department of Public Management and Policy, Andrew Young School of Policy Studies, Georgia State University, 14 Marietta Street NW, Suite 357, Atlanta, GA 30303. Contact: aheiss@gsu.edu 34 | editor_options: 35 | chunk_output_type: console 36 | --- 37 | 38 | Stuff here. 39 | -------------------------------------------------------------------------------- /notebook/_metadata.yml: -------------------------------------------------------------------------------- 1 | format: 2 | html: 3 | shift-heading-level-by: 1 4 | fig-format: retina 5 | fig-width: 7 6 | fig-height: 4.5 7 | knitr: 8 | opts_chunk: 9 | collapse: true 10 | dev: "ragg_png" 11 | dpi: 300 12 | fig.align: center 13 | -------------------------------------------------------------------------------- /notebook/design-details.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Fonts, colors, and other design details" 3 | author: "Suparna Chaudhry and Andrew Heiss" 4 | date: 2022-12-01 5 | date-modified: "`r format(Sys.time(), '%F')`" 6 | resources: 7 | - "html/linux-libertine-woff/*" 8 | format: 9 | html: 10 | toc-depth: 4 11 | --- 12 | 13 | ```{r load-libraries, warning=FALSE, message=FALSE} 14 | library(tidyverse) 15 | library(targets) 16 | library(scales) 17 | 18 | tar_config_set(store = here::here('_targets'), 19 | script = here::here('_targets.R')) 20 | 21 | # Load graphics functions from targets 22 | invisible(list2env(tar_read(graphic_functions), .GlobalEnv)) 23 | 24 | show_nice_pal <- function(pal, nrow = 1, show_text = TRUE) { 25 | out <- tibble(x = 1:length(pal), 26 | color = pal) %>% 27 | mutate(x_nice = glue::glue("[{x}]")) %>% 28 | mutate(across(c(color, x_nice), ~fct_inorder(.))) %>% 29 | ggplot(aes(x = color, y = 1, fill = color)) + 30 | geom_tile() + 31 | scale_x_discrete(expand = c(0, 0)) + 32 | scale_fill_identity() + 33 | facet_wrap(vars(x_nice), scales = "free_x", nrow = nrow) + 34 | theme_void(base_family = "Inconsolata") + 35 | theme(panel.spacing.x = unit(-1, units = "pt"), 36 | panel.spacing.y = unit(-0.5, units = "lines"), 37 | strip.text = element_blank()) 38 | 39 | if (show_text) { 40 | out <- out + 41 | theme(axis.text.x = element_text(margin = margin(b = 5)), 42 | strip.text = element_text(size = rel(1.1), margin = margin(t = 5)), 43 | panel.spacing.y = unit(0, units = "lines")) 44 | } 45 | 46 | return(out) 47 | } 48 | ``` 49 | 50 | # Fonts 51 | 52 | ```{scss echo=FALSE} 53 | @import url('https://fonts.googleapis.com/css2?family=Inter&display=swap'); 54 | 55 | @font-face { 56 | font-family: 'Linux Libertine O'; 57 | font-style: normal; 58 | font-weight: normal; 59 | src: local('Linux Libertine O Regular'), url('/notebook/html/linux-libertine-woff/LinLibertine_R.woff') format('woff'); 60 | } 61 | 62 | @font-face { 63 | font-family: 'Linux Libertine O'; 64 | font-style: italic; 65 | font-weight: normal; 66 | src: local('Linux Libertine O Italic'), url('/notebook/html/linux-libertine-woff/LinLibertine_RI.woff') format('woff'); 67 | } 68 | 69 | @font-face { 70 | font-family: 'Linux Libertine O'; 71 | font-style: normal; 72 | font-weight: bold; 73 | src: local('Linux Libertine O Bold'), url('/notebook/html/linux-libertine-woff/LinLibertine_RB.woff') format('woff'); 74 | } 75 | 76 | @font-face { 77 | font-family: 'Linux Libertine O Bold'; 78 | font-style: italic; 79 | font-weight: bold; 80 | src: local('Linux Libertine O Bold Italic'), url('LinLibertine_RBI.woff') format('woff'); 81 | } 82 | 83 | .font-example { 84 | background: #ffffff; 85 | padding: 1.5em 1.5em 0.75em 1.5em; 86 | margin-bottom: 1rem; 87 | border-left: 10px solid #68abb8; 88 | border-top: 1px solid #68abb8; 89 | border-right: 1px solid #68abb8; 90 | border-bottom: 1px solid #68abb8; 91 | font-size: 1.1em; 92 | } 93 | 94 | .inter { 95 | font-family: "Inter"; 96 | } 97 | 98 | .libertine { 99 | font-family: "Linux Libertine O Regular"; 100 | font-size: 1.2em; 101 | } 102 | ``` 103 | 104 | We use [Inter](https://rsms.me/inter/) (accessible for free from [Google Fonts](https://fonts.google.com/specimen/Inter)) as the main font in all our plots. 105 | 106 | ::: {.font-example .inter} 107 | **Inter** 108 | 109 | Whereas recognition of the *inherent dignity* and of the ***equal and inalienable*** rights of all members of the human family is the foundation of freedom, justice and peace in the world… 110 | ::: 111 | 112 | In the fancy preprint version of our manuscript we use [Linux Libertine](https://en.wikipedia.org/wiki/Linux_Libertine) for the main body font, since it fits with [Libertinus Math](https://github.com/alerque/libertinus) for fancier math typesetting. 113 | 114 | ::: {.font-example .libertine} 115 | **Linux Libertine** 116 | 117 | Whereas recognition of the *inherent dignity* and of the ***equal and inalienable*** rights of all members of the human family is the foundation of freedom, justice and peace in the world… 118 | ::: 119 | 120 | # Colors 121 | 122 | ## Prism (`clrs$Prism`) 123 | 124 | ```{r show-prism-short, fig.width=8, fig.height=0.2} 125 | #| out-width: 100% 126 | #| echo: false 127 | clrs$Prism %>% show_nice_pal(show_text = FALSE, nrow = 1) 128 | ``` 129 | 130 | Our main palette is the [qualitative Prism palette from CARTOColors](https://carto.com/carto-colors/). CARTOColors palettes were designed for data-focused map visualizations,but can be used in any kind of visualization, similar to [ColorBrewer](http://colorbrewer2.org/). 131 | 132 | Access the palette using `clrs$Prism`, and access specific colors with indexes like `clrs$Prism[8]`: 133 | 134 | ```{r show-prism, fig.width=8, fig.height=2} 135 | #| out-width: 100% 136 | #| echo: false 137 | clrs$Prism %>% show_nice_pal(show_text = TRUE, nrow = 2) 138 | ``` 139 | 140 | ```{r hex-prism} 141 | #| code-fold: show 142 | clrs$Prism %>% set_names(1:length(.)) 143 | ``` 144 | 145 | \ 146 | 147 | ## Single-ish-color sequential palettes 148 | 149 | In some cases, like with plots that use `geom_lineribbon()`, we use a range of sequential colors. For these, we use several different [sequential palettes from CARTOColors](https://carto.com/carto-colors/) since they tend to match the color scheme from `clrs$prism`. 150 | 151 | ### Emerald (`clrs$Emrld`) 152 | 153 | ```{r show-emrld, fig.width=8, fig.height=1} 154 | #| out-width: 100% 155 | #| echo: false 156 | clrs$Emrld %>% show_nice_pal(show_text = TRUE) 157 | ``` 158 | 159 | ```{r hex-emrld} 160 | #| code-fold: show 161 | clrs$Emrld %>% set_names(1:length(.)) 162 | ``` 163 | 164 | \ 165 | 166 | ### Purple orange (`clrs$PurpOr`) 167 | 168 | ```{r show-purpor, fig.width=8, fig.height=1} 169 | #| out-width: 100% 170 | #| echo: false 171 | clrs$PurpOr %>% show_nice_pal(show_text = TRUE) 172 | ``` 173 | 174 | ```{r hex-purpor} 175 | #| code-fold: show 176 | clrs$PurpOr %>% set_names(1:length(.)) 177 | ``` 178 | 179 | \ 180 | 181 | ### Teal (`clrs$Teal`) 182 | 183 | ```{r show-teal, fig.width=8, fig.height=1} 184 | #| out-width: 100% 185 | #| echo: false 186 | clrs$Teal %>% show_nice_pal(show_text = TRUE) 187 | ``` 188 | 189 | ```{r hex-teal} 190 | #| code-fold: show 191 | clrs$Teal %>% set_names(1:length(.)) 192 | ``` 193 | 194 | \ 195 | 196 | ### Peach (`clrs$Peach`) 197 | 198 | ```{r show-peach, fig.width=8, fig.height=1} 199 | #| out-width: 100% 200 | #| echo: false 201 | clrs$Peach %>% show_nice_pal(show_text = TRUE) 202 | ``` 203 | 204 | ```{r hex-peach} 205 | #| code-fold: show 206 | clrs$Peach %>% set_names(1:length(.)) 207 | ``` 208 | 209 | \ 210 | 211 | ### Sunset (`clrs$Sunset`) 212 | 213 | ```{r show-sunset, fig.width=8, fig.height=1} 214 | #| out-width: 100% 215 | #| echo: false 216 | clrs$Sunset %>% show_nice_pal(show_text = TRUE) 217 | ``` 218 | 219 | ```{r hex-sunset} 220 | #| code-fold: show 221 | clrs$Sunset %>% set_names(1:length(.)) 222 | ``` 223 | -------------------------------------------------------------------------------- /notebook/html/custom.scss: -------------------------------------------------------------------------------- 1 | /*-- scss:defaults --*/ 2 | $primary: #CC503E; 3 | 4 | 5 | /*-- scss:rules --*/ 6 | 7 | // Font adjustments 8 | pre.sourceCode { 9 | font-size: 0.8em; 10 | } 11 | 12 | .dt-small { 13 | font-size: 70%; 14 | } 15 | 16 | thead th { 17 | text-transform: none; 18 | font-weight: bold; 19 | } 20 | 21 | // TOC and sidebar stuff 22 | #TOC { 23 | background-color: $light; 24 | } 25 | 26 | #TOC #toc-title { 27 | font-weight: bold; 28 | } 29 | 30 | #TOC .toc-actions p { 31 | font-size: 0.7em; 32 | line-height: 1.4; 33 | } 34 | 35 | .sidebar nav[role="doc-toc"] .toc-actions > div:first-of-type { 36 | margin-top: -7px; 37 | } 38 | 39 | .sidebar.margin-sidebar > * { 40 | padding: 0.5em 0 0.5em 0.5em; 41 | } 42 | 43 | .sidebar-navigation .sidebar-item-container { 44 | //font-size:1.1rem; 45 | font-weight: bold; 46 | padding-bottom: 0.4rem; 47 | font-size: 1rem; 48 | } 49 | 50 | .sidebar-navigation .sidebar-section .sidebar-item-container { 51 | font-weight: normal; 52 | padding-bottom: 0.4rem; 53 | font-size: 1rem; 54 | } 55 | 56 | .sidebar-navigation .sidebar-section .sidebar-item, 57 | .sidebar-navigation .sidebar-item{ 58 | line-height: 1.2; 59 | } 60 | 61 | div.sidebar-item-container .active { 62 | color: $primary; 63 | } 64 | 65 | // Footer stuff 66 | .nav-footer-left { 67 | text-align: left; 68 | } 69 | 70 | .nav-footer-right { 71 | text-align: right; 72 | } 73 | 74 | 75 | // kableExtra or modelsummary or Quarto or *something* injects `border-bottom: 0` 76 | // into the inline for modelsummary tables when there are notes 77 | // with multiple lines (most esoteric bug ever!). This nukes the light grey bottom 78 | // border color that Bootstrap uses, which makes the tables ugly. So this class 79 | // forces the light grey border back on. 80 | .light-border { 81 | border-bottom-color: var(--bs-gray-300) !important; 82 | } 83 | 84 | // Make images in kableExtra tables take up the full width of their parent containers 85 | .table img { 86 | width: 100%; 87 | height: 100%; 88 | } 89 | 90 | .table tfoot { 91 | font-size: 0.85em; 92 | } 93 | 94 | .table tfoot td { 95 | padding-top: 0.3em !important; 96 | } 97 | 98 | .table tfoot tr:first-child td { 99 | padding-top: 1em !important; 100 | } 101 | 102 | .table tfoot tr:last-child td { 103 | padding-bottom: 1em !important; 104 | } 105 | -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_DR.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_DR.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_I.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_I.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_M.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_M.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_R.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_R.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_RB.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_RB.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_RBI.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_RBI.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_RI.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_RI.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_RZ.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_RZ.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/LinLibertine_RZI.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/html/linux-libertine-woff/LinLibertine_RZI.woff -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 |

Generated from: http://www.cufonfonts.com


12 |

AaBbCcDdEeFfGgHhŞşIıİi Example

13 |

AaBbCcDdEeFfGgHhŞşIıİi Example

14 |

AaBbCcDdEeFfGgHhŞşIıİi Example

15 |

AaBbCcDdEeFfGgHhŞşIıİi Example

16 |

AaBbCcDdEeFfGgHhŞşIıİi Example

17 |

AaBbCcDdEeFfGgHhŞşIıİi Example

18 |

AaBbCcDdEeFfGgHhŞşIıİi Example

19 |

AaBbCcDdEeFfGgHhŞşIıİi Example

20 |

AaBbCcDdEeFfGgHhŞşIıİi Example

21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /notebook/html/linux-libertine-woff/style.css: -------------------------------------------------------------------------------- 1 | /* #### Generated By: http://www.cufonfonts.com #### */ 2 | 3 | @font-face { 4 | font-family: 'Linux Libertine O Regular'; 5 | font-style: normal; 6 | font-weight: normal; 7 | src: local('Linux Libertine O Regular'), url('LinLibertine_R.woff') format('woff'); 8 | } 9 | 10 | 11 | @font-face { 12 | font-family: 'Linux Libertine O Italic'; 13 | font-style: normal; 14 | font-weight: normal; 15 | src: local('Linux Libertine O Italic'), url('LinLibertine_RI.woff') format('woff'); 16 | } 17 | 18 | 19 | @font-face { 20 | font-family: 'Linux Libertine O Semibold'; 21 | font-style: normal; 22 | font-weight: normal; 23 | src: local('Linux Libertine O Semibold'), url('LinLibertine_RZ.woff') format('woff'); 24 | } 25 | 26 | 27 | @font-face { 28 | font-family: 'Linux Libertine O Semibold Italic'; 29 | font-style: normal; 30 | font-weight: normal; 31 | src: local('Linux Libertine O Semibold Italic'), url('LinLibertine_RZI.woff') format('woff'); 32 | } 33 | 34 | 35 | @font-face { 36 | font-family: 'Linux Libertine O Bold'; 37 | font-style: normal; 38 | font-weight: normal; 39 | src: local('Linux Libertine O Bold'), url('LinLibertine_RB.woff') format('woff'); 40 | } 41 | 42 | 43 | @font-face { 44 | font-family: 'Linux Libertine O Bold Italic'; 45 | font-style: normal; 46 | font-weight: normal; 47 | src: local('Linux Libertine O Bold Italic'), url('LinLibertine_RBI.woff') format('woff'); 48 | } 49 | 50 | 51 | @font-face { 52 | font-family: 'Linux Libertine Display O Regular'; 53 | font-style: normal; 54 | font-weight: normal; 55 | src: local('Linux Libertine Display O Regular'), url('LinLibertine_DR.woff') format('woff'); 56 | } 57 | 58 | 59 | @font-face { 60 | font-family: 'Linux Libertine Initials O Initials'; 61 | font-style: normal; 62 | font-weight: normal; 63 | src: local('Linux Libertine Initials O Initials'), url('LinLibertine_I.woff') format('woff'); 64 | } 65 | 66 | 67 | @font-face { 68 | font-family: 'Linux Libertine Mono O Mono'; 69 | font-style: normal; 70 | font-weight: normal; 71 | src: local('Linux Libertine Mono O Mono'), url('LinLibertine_M.woff') format('woff'); 72 | } -------------------------------------------------------------------------------- /notebook/img/flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/img/flowchart.png -------------------------------------------------------------------------------- /notebook/img/rho-plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/img/rho-plot.png -------------------------------------------------------------------------------- /notebook/manuscript.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Manuscript" 3 | --- 4 | 5 | Here's a link to the paper: [paper](/manuscript/manuscript.pdf) 6 | -------------------------------------------------------------------------------- /notebook/software-citations.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: Software citations 3 | nocite: "`r paste0('@', targets::tar_read(softbib_keys), collapse = ', ')`" 4 | bibliography: softbib.bib 5 | --- 6 | 7 | ```{r link-to-targets, include=FALSE} 8 | library(targets) 9 | 10 | tar_config_set(store = here::here('_targets'), 11 | script = here::here('_targets.R')) 12 | 13 | # We don't do anything here really---this is just to build a {targets} dependency to this file 14 | keys <- targets::tar_read(softbib_bib) 15 | ``` 16 | -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_advocacy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_advocacy.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_advocacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_advocacy.png -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_barriers_total.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_barriers_total.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_barriers_total.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_barriers_total.png -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_entry.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_entry.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_entry.png -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_funding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_funding.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_funding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_funding.png -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_v2csreprss.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_v2csreprss.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_v2csreprss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_v2csreprss.png -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_v2xcs_ccsi.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_v2xcs_ccsi.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/contentiousness_bar_v2xcs_ccsi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/contentiousness_bar_v2xcs_ccsi.png -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_advocacy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_advocacy.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_advocacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_advocacy.png -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_barriers_total.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_barriers_total.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_barriers_total.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_barriers_total.png -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_entry.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_entry.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_entry.png -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_funding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_funding.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_funding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_funding.png -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_v2csreprss.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_v2csreprss.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_v2csreprss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_v2csreprss.png -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_v2xcs_ccsi.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_v2xcs_ccsi.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/oda_bar_v2xcs_ccsi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/oda_bar_v2xcs_ccsi.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_advocacy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_advocacy.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_advocacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_advocacy.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_barriers_total.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_barriers_total.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_barriers_total.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_barriers_total.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_entry.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_entry.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_entry.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_funding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_funding.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_funding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_funding.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_v2csreprss.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_v2csreprss.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_v2csreprss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_v2csreprss.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_v2xcs_ccsi.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_v2xcs_ccsi.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_domestic_v2xcs_ccsi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_domestic_v2xcs_ccsi.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_advocacy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_advocacy.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_advocacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_advocacy.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_barriers_total.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_barriers_total.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_barriers_total.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_barriers_total.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_entry.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_entry.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_entry.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_funding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_funding.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_funding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_funding.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_v2csreprss.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_v2csreprss.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_v2csreprss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_v2csreprss.png -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_v2xcs_ccsi.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_v2xcs_ccsi.pdf -------------------------------------------------------------------------------- /notebook/sparkplots/recipient_bar_foreign_v2xcs_ccsi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andrewheiss/testy-turtle/40e9540b65a5a8826966300711e8aafa3341971e/notebook/sparkplots/recipient_bar_foreign_v2xcs_ccsi.png -------------------------------------------------------------------------------- /notebook/targets.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Targets workflow" 3 | format: 4 | html: 5 | code-fold: true 6 | --- 7 | 8 | ```{r setup, include=FALSE} 9 | knitr::opts_chunk$set(fig.align = "center", fig.retina = 3, 10 | fig.width = 6, fig.height = (6 * 0.618), 11 | out.width = "85%", collapse = TRUE, 12 | dev = "png", dev.args = list(type = "cairo")) 13 | 14 | options(digits = 3, width = 120, 15 | dplyr.summarise.inform = FALSE, 16 | knitr.kable.NA = "") 17 | 18 | targets::tar_config_set(store = here::here('_targets'), 19 | script = here::here('_targets.R')) 20 | ``` 21 | 22 | # targets pipeline 23 | 24 | We use [the magical **targets** package](https://docs.ropensci.org/targets/) to run our analysis and keep track of all dependencies automatically. 25 | 26 | To build our entire project, run `targets::tar_make()` at the R console. 27 | 28 | Here's our complete pipeline: 29 | 30 | ```{r show-targets-pipeline, echo=TRUE} 31 | library(targets) 32 | 33 | tar_glimpse() 34 | ``` 35 | 36 | 37 | # Actual code 38 | 39 | ```{r generate-code-chunks, echo=FALSE} 40 | # MAGIC: https://gist.github.com/StevenMMortimer/e54ec050d97d79996189 41 | generate_chunk <- function(filename) { 42 | paste0(c(paste0("#### `R/", filename, "`"), 43 | paste0('```{r, code=xfun::read_utf8(here::here("R", "', filename, '")), eval=FALSE}'), 44 | "#| code-fold: true", 45 | "```", "", ""), 46 | sep = "\n") 47 | } 48 | 49 | out <- NULL 50 | for (thing in list.files(here::here("R"))) { 51 | out <- c(out, generate_chunk(thing)) 52 | } 53 | ``` 54 | 55 | `r paste(knitr::knit(text = out), collapse = "\n")` 56 | -------------------------------------------------------------------------------- /notebook/why-hierarchical-models.qmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Why hierarchical models?" 3 | --- 4 | 5 | ```{r setup, include=FALSE} 6 | # tikz stuff 7 | # Necessary for using dvisvgm on macOS 8 | # See https://www.andrewheiss.com/blog/2021/08/27/tikz-knitr-html-svg-fun/ 9 | Sys.setenv(LIBGS = "/usr/local/share/ghostscript/9.53.3/lib/libgs.dylib.9.53") 10 | ``` 11 | 12 | ```{r libraries-data, warning=FALSE, message=FALSE} 13 | library(tidyverse) 14 | library(targets) 15 | library(scales) 16 | library(patchwork) 17 | 18 | tar_config_set(store = here::here('_targets'), 19 | script = here::here('_targets.R')) 20 | 21 | font_opts <- list(extra.preamble = c("\\usepackage{libertine}", 22 | "\\usepackage{libertinust1math}"), 23 | dvisvgm.opts = "--font-format=woff") 24 | 25 | # Load data 26 | # Plotting functions 27 | invisible(list2env(tar_read(graphic_functions), .GlobalEnv)) 28 | invisible(list2env(tar_read(misc_funs), .GlobalEnv)) 29 | 30 | df_country_aid <- tar_read(country_aid_final) 31 | df_country_aid_laws <- filter(df_country_aid, laws) 32 | ``` 33 | 34 | 35 | # Hierarchical structure 36 | 37 | ```{r data-summary, include=FALSE} 38 | details <- df_country_aid_laws %>% 39 | distinct(year) %>% 40 | summarize(num_years = n(), 41 | year_first = min(year), 42 | year_last = max(year)) %>% 43 | bind_cols(tibble(num_countries = df_country_aid_laws %>% 44 | distinct(gwcode) %>% nrow())) %>% 45 | as.list() 46 | ``` 47 | 48 | Our data includes information about `r details$num_countries` countries across `r details$num_years` years (from `r details$year_first`–`r details$year_last`). This kind of time series cross-sectional (TSCS) data reflects a natural hierarchical structure, with repeated yearly observations nested within countries ([see this whole guide I wrote](https://www.andrewheiss.com/blog/2021/12/01/multilevel-models-panel-data-guide/) because of this exact project) 49 | 50 | ```{tikz panel-structure-svg, engine.opts=font_opts} 51 | #| echo: false 52 | #| fig-cap: "Multilevel panel data structure, with yearly observations of $y$ nested in countries" 53 | #| fig-align: center 54 | #| fig-ext: svg 55 | #| out-width: 100% 56 | \usetikzlibrary{positioning} 57 | \usetikzlibrary{shapes.geometric} 58 | \definecolor{red}{HTML}{CC503E} 59 | \definecolor{teal1}{HTML}{2a5674} 60 | \definecolor{teal2}{HTML}{68abb8} 61 | \definecolor{teal3}{HTML}{85c4c9} 62 | \definecolor{teal4}{HTML}{a8dbd9} 63 | \definecolor{peach1}{HTML}{f59e72} 64 | \definecolor{peach2}{HTML}{f8b58b} 65 | \definecolor{peach3}{HTML}{facba6} 66 | \begin{tikzpicture}[{every node/.append style}=draw] 67 | \node [rectangle,fill=teal2] (country1) at (0, 2.5) {Country 1}; 68 | \node [ellipse,fill=peach1] (y11) at (-1.85, 1) {$y_{i,{t = 1990}_1}$}; 69 | \node [ellipse,fill=peach1] (y21) at (0, 1) {$y_{i,{t = t}_1}$}; 70 | \node [ellipse,fill=peach1] (y31) at (1.85, 1) {$y_{i,{t = 2013}_1}$}; 71 | \draw [-latex] (country1) to (y11); 72 | \draw [-latex] (country1) to (y21); 73 | \draw [-latex] (country1) to (y31); 74 | 75 | \node [rectangle,fill=teal3] (country2) at (5.35, 2.5) {Country 2}; 76 | \node [ellipse,fill=peach2] (y12) at (4.15, 1) {$y_{i,{1990}_2}$}; 77 | \node [draw=none] (y22) at (5.35, 1) {$\dots$}; 78 | \node [ellipse,fill=peach2] (y32) at (6.55, 1) {$y_{i,{2013}_2}$}; 79 | \draw [-latex] (country2) to (y12); 80 | \draw [-latex] (country2) to (y22); 81 | \draw [-latex] (country2) to (y32); 82 | 83 | \node [draw=none] (dots_top) at (7.85, 2.5) {$\dots$}; 84 | \node [draw=none] (dots_bottom) at (7.85, 1) {$\dots$}; 85 | \draw [-latex] (dots_top) to (dots_bottom); 86 | 87 | \node [rectangle,fill=teal4] (country_142) at (10.6, 2.5) {Country 142}; 88 | \node [ellipse,fill=peach3] (y1_142) at (9.25, 1) {$y_{i,{1990}_{142}}$}; 89 | \node [draw=none] (y2_142) at (10.6, 1) {$\dots$}; 90 | \node [ellipse,fill=peach3] (y3_142) at (11.95, 1) {$y_{i,{2013}_{142}}$}; 91 | \draw [-latex] (country_142) to (y1_142); 92 | \draw [-latex] (country_142) to (y2_142); 93 | \draw [-latex] (country_142) to (y3_142); 94 | 95 | \node [rectangle,fill=teal1,text=white] (population) at (5, 4) {Countries eligible for aid}; 96 | \draw [-latex] (population) to (country1); 97 | \draw [-latex] (population) to (country2); 98 | \draw [-latex] (population) to (dots_top); 99 | \draw [-latex] (population) to (country_142); 100 | \end{tikzpicture} 101 | ``` 102 | 103 | 104 | ```{r plot-biggest-movers} 105 | #| out-width: 80% 106 | biggest_movers <- df_country_aid_laws %>% 107 | group_by(country) %>% 108 | filter(!any(total_oda == 0)) %>% 109 | summarize(across(c(v2csreprss, total_oda), lst(min, max, diff = ~max(.) - min(.)))) 110 | 111 | top_overall <- top_n(biggest_movers, 15, v2csreprss_diff) %>% 112 | filter(country %in% top_n(biggest_movers, 15, total_oda_diff)$country) %>% 113 | top_n(3, v2csreprss_diff) 114 | 115 | df_cs_oda_highlight <- df_country_aid_laws %>% 116 | mutate(highlight_country = ifelse(country %in% top_overall$country, 117 | country, "Other"), 118 | highlight_country = factor(highlight_country, ordered = TRUE), 119 | highlight_country = fct_relevel(highlight_country, "Other", after = Inf)) %>% 120 | mutate(highlight = highlight_country != "Other") 121 | 122 | ggplot(df_cs_oda_highlight, aes(x = v2csreprss, y = total_oda, group = country)) + 123 | geom_point(size = 0.15, alpha = 0.15) + 124 | geom_smooth(method = "lm", aes(group = NULL), color = clrs$Prism[6], 125 | linewidth = 1.25, linetype = "21", se = FALSE, formula = y ~ x) + 126 | geom_path(aes(color = highlight_country, size = highlight), 127 | arrow = arrow(type = "open", angle = 30, length = unit(0.75, "lines")), 128 | key_glyph = "timeseries") + 129 | scale_y_continuous(trans = "log1p", breaks = c(1e7, 1e8, 1e9, 1e10, 1e11), 130 | labels = label_dollar(scale_cut = cut_short_scale())) + 131 | scale_size_manual(values = c(0.075, 1.25), guide = "none") + 132 | scale_color_manual(values = c(clrs$Prism[2], clrs$Prism[7], clrs$Prism[9], "grey50"), 133 | guide = guide_legend(override.aes = list(linewidth = 1))) + 134 | coord_cartesian(ylim = c(1e7, 1e11)) + 135 | labs(x = "Civil society repression\n(Higher values represent less repression)", 136 | y = "Total ODA", color = NULL, size = NULL) + 137 | theme_donors() 138 | ``` 139 | -------------------------------------------------------------------------------- /renv/.gitignore: -------------------------------------------------------------------------------- 1 | sandbox/ 2 | cellar/ 3 | library/ 4 | local/ 5 | lock/ 6 | python/ 7 | staging/ 8 | -------------------------------------------------------------------------------- /renv/settings.dcf: -------------------------------------------------------------------------------- 1 | external.libraries: 2 | ignored.packages: languageserver 3 | package.dependency.fields: Imports, Depends, LinkingTo 4 | r.version: 5 | snapshot.type: implicit 6 | use.cache: TRUE 7 | vcs.ignore.library: TRUE 8 | vcs.ignore.local: TRUE 9 | -------------------------------------------------------------------------------- /testy-turtle.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: No 4 | SaveWorkspace: No 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: XeLaTeX 14 | 15 | AutoAppendNewline: Yes 16 | --------------------------------------------------------------------------------