A R package for acquiring and analyzing political data — including polls, election results, legislator information, and demographic data.
Author: G. Elliott Morris
For even more, see the package’s project description my blog or view the vignettes (vignettes area work in progress). You can find many examples of how these data are used in the real world via my interactive R course at DataCamp.com, “Analyzing Election and Polling Data in R”.
For even even more, I’m in the process of writing a detailed guide on using R for analyzing political data, Analyzing Political Data in R , that uses many of the functions and datasets from this package. The example use cases extend beyond those in the function documentation and this readme.
politicaldata package from CRAN:
As the landscape of online data and API calls is constantly changing, the development version is likely to contain quicker bug fixes and integration of new data. You can instill the dev version using the
remotes::install_github() workflow outlined here:
To get the current development version from GitHub:
This package provides a variety of functions for quickly accessing different data sources used in political science and analytics. For example, you can download a data.frame of the DW-NOMINATE scores of congressional ideology computed by the VoteView project at UCLA:
# import the package library(politicaldata) # download the NOMINATE scores for the 116th House house_ideo <- get_house_nominate(congress = 116) # download the NOMINATE scores for the Senate in the 116th Congress senate_ideo <- get_senate_nominate(congress = 116) # take a look with dplyr::head() suppressMessages(library(dplyr)) head(house_ideo[1:5]) #> congress chamber icpsr state_icpsr district_code #> 1 116 House 20301 41 3 #> 2 116 House 21102 41 7 #> 3 116 House 21192 41 2 #> 4 116 House 21193 41 5 #> 5 116 House 21376 41 1 #> 6 116 House 21500 41 6
A list of functions:
get_house_nominate()returns DW-NOMINATE ideology scores for each member of the U.S. House of Representatives for a specified congress, else every Representative ever.
get_senate_nominate()returns DW-NOMINATE ideology scores for each member of the U.S. Senate for a specified congress, else every Senator ever.
trump_approval_polls_538()returns a dataset of approval polls aggregated by the folks over at FiveThirtyEight.
get_cap_mip()returns a historical dataset of the aggregated responses to Gallup’s Most Important Problem questions, coded by major topic. Part of a suite of functions for obtaining data from the Comparative Agendas Project.
A list of datasets:
house_116is a saved copy of the output from
get_house_nominate(congress=116)run on the last day the package was updated (and thus should only be used for demos, unless you want outdated data).
senate_116is the same as the above, bur for the Senate. Downloaded via
us_polls_historyis a dataset of US presidential election polling from the 1980 through 2016 elections.
house_resultsis a dataset of results for elections to the US House of Representatives that occurred from 1976 to 2018
pres_results_by_cdis a dataset of results for presidential elections broken down by congressional district from 1990 to 2016
There are vignettes. They are in the package documentation. You can see them online in this repository or the docs website.
You should feel free to suggest more data and/or functions to add, open issues, submit pull requests, etc.
You can reach me by opening an issue, on Twitter, or via email (but I’d prefer you to communicate primarily via GitHub).