Chris Kenny, PhD's Avatar

Chris Kenny, PhD

@chriskenny.bsky.social

Postdoc, Princeton DDSS. PhD '25 Government @harvard.edu. Studies redistricting with #rstats. https://christophertkenny.com/

690 Followers  |  319 Following  |  181 Posts  |  Joined: 19.09.2023  |  1.8034

Latest posts by chriskenny.bsky.social on Bluesky

Open Source Geometry Engine (GEOS) C API Provides the Open Source Geometry Engine (GEOS) as a C API that can be used to write high-performance C and C++ geometry operations using R as an interface. Headers are provided to make linking ...

@corymccartan.com and I have been playing with @paleolimbot.bsky.social's #rstats `libgeos` package. It's pretty awesome.

Handles the hard parts so that you can connect Rcpp to GEOS with a few lines of code. Got some existing, optimized `geos` code to ~3x faster!

paleolimbot.github.io/libgeos/

18.11.2025 23:01 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Oh awesome, thanks for sharing. Kieran Healy is always doing awesome work. Not shocked that he did this first!

07.11.2025 16:42 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A dot density map of NYC where each point represents 50 voters. Lines show NYC neighborhoods. Density is highest in Manhattan with a lot of dots for Mamdani. Areas of Staten Island and Brooklyn are dense and yellow for Cuomo.

A dot density map of NYC where each point represents 50 voters. Lines show NYC neighborhoods. Density is highest in Manhattan with a lot of dots for Mamdani. Areas of Staten Island and Brooklyn are dense and yellow for Cuomo.

NYC 2025 Mayoral results as a dot density plot using the `dots` #rstats package (cran.r-project.org/web/packages...)

07.11.2025 14:01 β€” πŸ‘ 46    πŸ” 11    πŸ’¬ 4    πŸ“Œ 5
Preview
GitHub - hadley/genzplyr: dplyr but make it bussin fr fr no cap dplyr but make it bussin fr fr no cap. Contribute to hadley/genzplyr development by creating an account on GitHub.

Do you teach #rstats? Do your students complain about how lame and old-fashioned dplyr is? Don't worry: I have the solution for you: github.com/hadley/genzp....

genzplyr is dplyr, but bussin fr fr no cap.

06.11.2025 23:25 β€” πŸ‘ 460    πŸ” 168    πŸ’¬ 43    πŸ“Œ 56
Post image

Support for Prop 50 in California is highly correlated with support for Harris in 2024 and even runs slightly ahead of her

A sad day for democracy to have the future of competitive elections literally on the ballot and yet be so utterly defeated.

Stands at 63.9% voting yes.

06.11.2025 02:24 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thanks for sharing!

05.11.2025 20:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
How to Analyze bluesky Posts and Trends with R - Storybench If all you're doing on bluesky is scrolling, liking and posting, then you're riding a bike with training wheels. Here are simple tools using its open-source skeleton.

There are a lot of great posts out there that aren't very highly ranked.

Don't rely on bluesky to find you great content; you can find it on your own! Here's how:

#Rstats via @northeasternu.bsky.social's Storybench

www.storybench.org/how-to-analy...

05.11.2025 19:58 β€” πŸ‘ 136    πŸ” 6    πŸ’¬ 2    πŸ“Œ 1

Yeah and once you start adding known precinct covariate, the possibilities really explode. We ended up with several internal (quarto) dashboards to handle plotting everything on the fly

05.11.2025 20:33 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
2025 NYC Mayoral Race by Neighborhood CBS News estimates of how different parts of the city voted

NYC map shaded by vote margin!

We collected very granular precinct data and aggregated it to neighborhoods people actually recognize

Bushwick, Flushing, Upper West Side, etc.

datawrapper.dwcdn.net/Wrd72/

H/T @mitelectionlab.bsky.social @chriskenny.bsky.social @corymccartan.com @simko.bsky.social

05.11.2025 17:26 β€” πŸ‘ 10    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0

For the on-air presenting and digital media, we also built a live neighborhood map: www.cbsnews.com/news/nyc-may... (now filled by margin!)

05.11.2025 17:23 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Here at the CBS News data desk with @chriskenny.bsky.social and @simko.bsky.social! Looking at the VA numbers

05.11.2025 00:55 β€” πŸ‘ 12    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

Finishing up prep for election night at CBS News' Data Desk!

Sunday in NYC was the highest single day early votes since at least 2019 and maybe ever:

04.11.2025 19:25 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Post image Post image

Tracking the early vote in NYC. Turnout in Manhattan is particularly striking. Brooklyn is higher in raw numbers, but Manhattan is tracking closer to a presidential year than the odd years.

30.10.2025 04:50 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
typr: Write and Render 'Typst' Documents Compile 'Typst' files using the 'typst-cli' (&lt;<a href="https://typst.app" target="_top">https://typst.app</a>&gt;) command line tool. Automatically falls back to rendering via embedded 'Typst' from...

This looks great. You might also appreciate typr: cran.r-project.org/web/packages...

29.10.2025 19:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

As a member of the (now disbanded) National Academy of Sciences working group on differential privacy I can report some liberals want it gone, too, as its application tends to hurt disadvantaged communities

28.10.2025 10:51 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

In my experience and conversations, most academics want it gone too.

The parameter values necessary to make the data usable make the theoretical guarantees functionally useless. Better off using an empirically effective approach, like swapping.

DP is a cute idea, but it’s a bad fit for the census

28.10.2025 19:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Should also add thanks to @resulumit.bsky.social for opening issues and pull requests! Feedback is always helpful, especially in broad packages where I’m not using every single feature

27.10.2025 12:12 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

#rstats bskyr is updated on CRAN with lots of fixes and new features. Major additions are detailed vignettes support for direct messaging.

Full list: christophertkenny.com/bskyr/news/

26.10.2025 16:49 β€” πŸ‘ 14    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

tinytiger ("Lightweight Interface to TIGER/Line Shapefiles") is now updated on CRAN to include support for 2025 census shape boundaries! #rstats

Package website: alarm-redist.org/tinytiger/

26.10.2025 16:45 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
GitHub - christopherkenny/quarto-workshop-fall2025 Contribute to christopherkenny/quarto-workshop-fall2025 development by creating an account on GitHub.

On Monday, I taught an intro to #Quarto #quartopub workshop aimed at social scientists at Princeton. Slides and demos are publicly available here: github.com/christopherk...

22.10.2025 17:07 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

As with past SCOTUS oral arguments on redistricting, here's a word cloud in the shape of the state (with stopwords and lawyer names removed):

15.10.2025 23:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thanks. mapgl makes it much faster and removes some of the hacky components that were needed to get leaflet to avoid redrawing shapes. Appreciate your package!

03.10.2025 15:19 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Interactive Redistricting A point and click editor for districts built on shiny and mapgl. Users can draw districts and calculate standard redistricting metrics, like compactness or the number of administrative splits. Maps ca...

The code to make the demo is simple, especially if you already use ALARM data:

library(redistio)
nm <- alarmdata::alarm_50state_map('NM')
draw(nm, init_plan = nm$cd_2020, palette = wacolors::wacolors$rainier,
layers = list(County = 'county'))

More info: christophertkenny.com/redistio/

03.10.2025 12:46 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

redistio now uses @kylewalker.bsky.social's mapgl for interactive redistricting map editing!

redistio is an #rstats package that uses Shiny to draw redistricting maps locally.

Unlike other district editors, this provides access to our simulation algorithms, interactively!

Short demo:

03.10.2025 12:46 β€” πŸ‘ 12    πŸ” 5    πŸ’¬ 2    πŸ“Œ 1
Post image

#rstats packages tinytiger and baf may again be seeing intermittent issues (again), as the Census Bureau has placed this redirect on their FTP sites.

Empty list responses may also be possible, as the download is (sometimes) capturing the HTML page...

01.10.2025 19:50 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

A pdf version of the slides are here: christophertkenny.com/drafts/2025-...

01.10.2025 19:33 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Presenting today!

01.10.2025 13:13 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Search β€” Typst: Universe Explore packages and templates to take your documents to the next level.

There’s been a lot of development, especially with the growth in the user community over that time period. But it would depend on how obscure your math is, I think.

There’s a listing of community packages here: typst.app/universe/sea...

27.09.2025 18:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yeah, I have fair point. I do all of my journal writing in Quarto, so that I can swap between formats, which lets me write Quarto => Typst. If a journal requires LaTeX, you just swap the engine and Quarto produces the LaTeX file.

27.09.2025 13:39 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

@chriskenny is following 20 prominent accounts