Description
Score Redistricting Plans with 'PlanScore'.
Description
Provides access to the 'PlanScore' Application Programming Interface (<https://github.com/PlanScore/PlanScore/blob/main/API.md>) for scoring redistricting plans. Allows for upload of plans from block assignment files and shape files. For shapes in memory, such as from 'sf' or 'redist', it processes them to save and upload. Includes tools for tidying responses and saving output from the website.
README.md
planscorer
planscorer
offers an R interface to PlanScore.org’s API.
Installation
You can install the development version of planscorer from GitHub with:
# install.packages('remotes')
remotes::install_github('christopherkenny/planscorer')
Authentication
To use planscorer, you must have an API key from PlanScore. Otherwise, you will get a 403 forbidden error.
To get a key, follow the instructions here.
Once you have a key, use ps_set_key('your_key')
. Optionally use ps_set_key('your_key', install = TRUE)
to allow your key to be available across sessions.
Example
With a file, you can upload using the ps_upload_file()
option:
library(planscorer)
## basic example code
file <- system.file('extdata/null-plan-incumbency.geojson', package = 'planscorer')
links <- ps_upload_file(file)
#> ℹ Using single-step upload.
To read the data results:
ps_ingest(links)
#> # A tibble: 2 × 62
#> district democratic_…¹ democ…² democ…³ repub…⁴ repub…⁵ us_pr…⁶ us_pr…⁷ distr…⁸
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
#> 1 1 155. 29.9 0 445. 29.9 100 300 0
#> 2 2 379. 29.6 0.998 221. 29.6 500 300 1
#> # … with 53 more variables: polsby_popper <dbl>, reock <dbl>,
#> # declination <dbl>, declination_absolute_percent_rank <dbl>,
#> # declination_is_valid <dbl>, declination_positives <dbl>,
#> # declination_relative_percent_rank <dbl>, declination_sd <dbl>,
#> # efficiency_gap <dbl>, efficiency_gap_1_dem <dbl>,
#> # efficiency_gap_1_dem_sd <dbl>, efficiency_gap_1_rep <dbl>,
#> # efficiency_gap_1_rep_sd <dbl>, efficiency_gap_2_dem <dbl>, …
To capture the outputted figures on the site:
img <- 'man/figures/README-planscore.png'
ps_capture(links, img)
#> [1] "man/figures/README-planscore.png"
knitr::include_graphics(img)