Skip to contents

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)