I am a PhD candidate in Government at Harvard University. I research redistricting, elections, and the uses and usability of census data. I am a founding member and co-PI of the ALARM Project. In 2022, I was a fellow at the Election Law Clinic at Harvard Law School, where I developed RPV Near Me (source code).
This readme is mostly a table of contents for my GitHub repositories (and some others that I contribute to). For more information on my research, see my website or CV. Find me on Twitter, Bluesky, or Threads.
These are packages that are stable and usable. They are on CRAN and in are in regular use.
Package | Description |
---|---|
redist | Tools for redistricting sampling. Used frequently in research and litigation. |
redistmetrics | Measures and metrics for assessing redistricting plans |
geomander | Spatial tools designed for interfacing election data, precincts, and census data |
PL94171 | Read in PL 94-171 Census data, the redistricting files. |
censable | Download the most frequently used demographic data and categories from the Census Bureau API. |
ggredist | ggplot2 extensions and color palettes for election mapping. |
tinytiger | A developer-oriented interface to TIGER/Line Shapefiles. (You probably want to use Kyle Walker's tigris unless you're doing R 📦 development.) |
cvap | Work with the US Census Bureau's Citizen Voting Age Population Special Tabulations. |
ppmf | Read in US Census Bureau Privacy Protected Microdata Files. |
divseg | Compute diversity and segregation indices. |
dots | Create dot density maps in R. |
congress | An R interface to the Congress.gov API. |
feltr | Work with the Felt API so you can upload or read spatial data within existing workflows in R. |
apportion | Allocate seats based on population vectors by various different methods. |
jot | A GitHub friendly approach to saving and sharing statistics needed for writing papers in Quarto/RMarkdown. |
name | Collected tools for working with pattern-based column names. |
crayons | Some ggplot2 extensions for color palettes based on Crayola crayons. |
gptzeror | An R interface to the GPTZero API for identifying so-called AI written text. |
bskyr | Use the Bluesky Social HTTP API (XRPC) in R. |
planscorer | Score redistricting plans via the PlanScore API. |
alarmdata | Work with data generated from ALARM Project projects. |
palette | Use a palette class which adds pretty console color printing. |
baf | Load Census Bureau block assignment files and block equivalency files. |
redistverse | Load in the whole redist family at once. |
These are packages that are actively under development and have not yet made it onto CRAN for one reason or another.
- Stable packages should give correct results, but may need a bit of work tightening up documentation or handling errors better.
- Mostly stable packages should give correct results, but have features left to implement or have R CMD Check issues.
- Experimental packages are entirely under development but will someday be good for wider use.
- No promises packages are also entirely under development but I make no guarantees to their usefulness, but hey it might be better than nothing. Send me a tweet, email, or open an issue if you want to ask about specific features in these.
Package | Description | Lifecycle |
---|---|---|
redistio | An interactive redistricting app run locally in Shiny | |
ei | Run ecological inference models in R. This is a project with Shusei Eshima and Gary King to update Gary King and Molly Robert's original ei package from a decade ago. | |
vf | Read in publicly available voter files in R. | |
opengraph | Parse Open Graph Protocol metadata |
These are templates for journal submissions. These each modify a LaTeX template to let you write papers in a journal's submission style from Quarto or RMarkdown.
Template | Type | Journal(s) |
---|---|---|
annual-reviews | Quarto | Annual Reviews |
apsr | Quarto | American Political Science Review |
cambridge-medium | Quarto | Political Analysis, Political Science Research and Methods, British Journal of Political Science, Annals of Actuarial Science, Network Science |
nature | Quarto | Springer Nature Journals |
pnas | Quarto | PNAS (for Research Articles) |
pnas-si | Quarto | PNAS (for Supporting Information) |
science | rticles | Science, Science Advances |
scientific-data | Quarto | Scientific Data (for Data Descriptors) |
perspectives | Quarto | Perspectives on Politics |
These are Quarto extensions which are not designed for submissions to academic journals.
Extension | Description |
---|---|
tufte | Provides a Tufte-style document for Quarto using Typst, based on nogula/tufte-memo |
ctk-article | A general purpose academic article template for Quarto using Typst |
These are non-template extensions that can be added to any Quarto document.
Extension | Type | Description |
---|---|---|
wordcount | filter | inserts a word count within a document in place of the placeholder {{wordcount}} or {{wordcountref}} |
typst-function | filter | inserts a Typst function in the place of a div or span |
spellcheck | filter | runs Hunspell on render, printing mispelled words to the console |
Repo | Description |
---|---|
christopherkenny.github.io | Home to the Quarto files that generate my personal website. |
christopherkenny | Home of the readme that you are currently reading. |
chicago | An example workflow for combining city election data and census demographic data using geomander and censable |
redist_workshop | A workshop taught with Tyler Simko at Harvard University on using redist for research. |
royale | An R package for accessing the API for the game Clash Royale. |
clash | An R package for accessing the API for the game Clash of Clans. |
styler.quote | A third party extension to styler that modifies the tidyverse style guide to use correct quotes in R (the single ' rather than captilized version " ) |
luigg | An R package with ggplot2 extensions for a Mario-style pipe bar graph and color schemes based on Mario games. |
acronames | An R package for creating initialisms based on lists of words you want to use. |
parrot | An R package for including party parrots in RMarkdown. |
ppmf_data | Compressed versions of Census Privacy Protected Microdata Files |
cvap_data | Preprocessed versions of Census CVAP data, usable with cvap |
universe | Packages list for generating my r-universe. I don't keep this super updated, but it has the big packages that are a pain to build from source from GitHub. |
conf | Links to public conference slides |
legend-dynasty | A series of automatically generated tables to a quarto website |
bsky-cran-bot | A time-based Bluesky Social bot powered by bskyr and run on GitHub Actions |
mt-enumeration | Enumeration of all whole county plans with 1 person deviation in Montana for the 2020 cycle |
If there are other public repos that aren't listed here that aren't forks, they are probably either newer than this Table of Contents, too small to be useful, not supported but I don't want to delete them, or course-related. If you see something that you're interested in knowing more about, send me a tweet or email or just open an issue in the repo.