Learn R Programming

PL94171: Tabulate P.L. 94-171 Redistricting Data Summary Files

The PL94171 package contains tools to process legacy format summary redistricting data files produced by the United States Census Bureau pursuant to P.L. 94-171. These files are generally available earlier but are difficult to work with as-is.

Installation

Install the latest version from CRAN with:

install.packages("PL94171")

You can also install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("CoryMcCartan/PL94171")

Basic Usage

Just need block- or precinct-level data for total and voting-age population by race? Then pl_tidy_shp() is all you need.

library(PL94171)
# put the path to the PL 94-171 files here, or use `pl_url()` to download them
pl_path = system.file("extdata/ri2018_2020Style.pl", package="PL94171")
pl_tidy_shp("RI", pl_path)
#> Simple feature collection with 569 features and 24 fields (with 569 geometries empty)
#> Geometry type: GEOMETRY
#> Dimension:     XY
#> Bounding box:  xmin: NA ymin: NA xmax: NA ymax: NA
#> Geodetic CRS:  NAD83
#> # A tibble: 569 × 25
#>    GEOID        state county vtd     pop pop_h…¹ pop_w…² pop_b…³ pop_a…⁴ pop_a…⁵
#>    <chr>        <chr> <chr>  <chr> <int>   <int>   <int>   <int>   <int>   <int>
#>  1 44007000101… RI    <NA>   4428…     0       0       0       0       0       0
#>  2 44007000101… RI    <NA>   4428…     0       0       0       0       0       0
#>  3 44007000101… RI    <NA>   4428…     0       0       0       0       0       0
#>  4 44007000101… RI    <NA>   4428…    50       0      50       0       0       0
#>  5 44007000101… RI    <NA>   4428…     0       0       0       0       0       0
#>  6 44007000101… RI    <NA>   4428…     0       0       0       0       0       0
#>  7 44007000101… RI    <NA>   4428…    18      18       0       0       0       0
#>  8 44007000101… RI    <NA>   4428…     0       0       0       0       0       0
#>  9 44007000101… RI    <NA>   4428…    86      86       0       0       0       0
#> 10 44007000101… RI    <NA>   4428…    19       0       0      19       0       0
#> # … with 559 more rows, 15 more variables: pop_nhpi <int>, pop_other <int>,
#> #   pop_two <int>, vap <int>, vap_hisp <int>, vap_white <int>, vap_black <int>,
#> #   vap_aian <int>, vap_asian <int>, vap_nhpi <int>, vap_other <int>,
#> #   vap_two <int>, area_land <dbl>, area_water <dbl>,
#> #   geometry <GEOMETRYCOLLECTION [°]>, and abbreviated variable names
#> #   ¹​pop_hisp, ²​pop_white, ³​pop_black, ⁴​pop_aian, ⁵​pop_asian

To tabulate at different geographies, or to extract other variables, check out the Getting Started page.

Copy Link

Version

Install

install.packages('PL94171')

Monthly Downloads

592

Version

1.2.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Cory McCartan

Last Published

January 10th, 2026

Functions in PL94171 (1.2.1)

pl_get_baf

Download 2020 Block Assignment Files for a State
pl_get_prototype

Download TIGER Prototype shapefiles
pl_select_standard

Select the Standard Redistricting Columns
pl_get_vtd

Download 2020 Voting District Shapefiles
pl_retally

Approximately re-tally Census data under new block boundaries
pl_ex

PL Example File
pl_geog_levels

List of Summary Levels and Official Descriptions
pl_subset

Subset to a Summary Level
pl_url

Get the URL for PL files for a particular state and year
pl_tidy_shp

All-in-one Shapefile Function
pl_crosswalk

Download Block Crosswalk Files
pl_read

Read a set of PL Files
PL94171-package

PL94171: Tabulate P.L. 94-171 Redistricting Data Summary Files