legislatoR is a package for the software environment R that facilitates access to the Comparative Legislators Database (CLD). The CLD includes political, sociodemographic, career, online presence, public attention, and visual information for over 45,000 contemporary and historical politicians from ten countries.
The CLD covers the following countries and time periods:
Country | Legislative sessions | Politicians (unique) | Integrated with |
---|---|---|---|
Austria (Nationalrat) | all 27 (1920-2019) |
1,923 | ParlSpeech V2 (Rauh/Schwalbach 2020) |
Canada (House of Commons) | all 43 (1867-2019) |
4,515 | |
Czech Republic (Poslanecka Snemovna) | all 8 (1992-2017) |
1,020 | ParlSpeech V1 (Rauh et al. 2017) |
France (Assemblée) | all 15 (1958-2017) |
3,933 | |
Germany (Bundestag) | all 19 (1949-2017) |
4,075 | BTVote data (Bergmann et al. 2018), ParlSpeech V1 (Rauh et al. 2017), Reelection Prospects data (Stoffel/Sieberer 2017) |
Ireland (Dail) | all 33 (1918-2020) |
1,408 | Database of Parliamentary Speeches in Ireland (Herzog/Mikhaylov 2017) |
Scotland (Parliament) | all 5 (1999-2016) |
305 | ParlScot (Braby/Fraser 2021) |
Spain (Congreso de los Diputados) | all 14 (1979-2019) |
2634 | ParlSpeech V2 (Rauh/Schwalbach 2020) |
United Kingdom (House of Commons) | all 58 (1801-2019) |
13,215 | EggersSpirling data (starting from 38th session, Eggers/Spirling 2014), ParlSpeech V1 (Rauh et al. 2017) |
United States (House and Senate) | all 116 (1789-2019) |
12,512 | Voteview data (Lewis et al. 2019), Congressional Bills Project data (Adler/Wilkserson 2018) |
10 | 338 | 45,540 | 12 |
For each legislature, the CLD holds nine tables:
- Core (sociodemographic data)
- Political (political data)
- History (full revision records of individual Wikipedia biographies)
- Traffic (daily user traffic on individual Wikipedia biographies starting from July 2007)
- Social (social media handles and personal website URLs)
- Portraits (URLs to portraits)
- Offices (public offices)
- Professions (professions)
- IDs (identifiers linking politicians to other files, databases, or websites)
The tables contain the following variables (see respective R help files for further details):
- Core: Country, Wikipedia page ID, Wikidata ID, Wikipedia Title, full name, sex, ethnicity, religion, date of birth and death, place of birth and death.
- Political: Wikipedia page ID, legislative session, party affiliation, lower constituency, upper constituency, constituency ID, start and end date of legislative session, period of service, majority status, leader positions.
- History: Wikipedia page ID, Wikipedia revision and previous revision ID, editor name/IP and ID, revision date and time, revision size, revision comment.
- Traffic: Wikipedia page ID, date, user traffic.
- Social: Wikidata ID, Twitter handle, Facebook handle, Youtube ID, Google Plus ID, Instagram handle, LinkedIn ID, personal website URL.
- Portraits: Wikipedia page ID, Wikipedia portrait URL.
- Offices: Wikidata ID, a range of offices such as attorney general, chief justice, mayor, party chair, secretary of state, etc.
- Professions: Wikidata ID, a range of professions such as accountant, farmer, historian, judge, mechanic, police officer, salesperson, teacher, etc.
- IDs: Wikidata ID, IDs for integration with various political science datsets as well as a range of other IDs such as parliamentary website IDs, Library of Congress or German National Library IDs, Notable Names Database or Project Vote Smart IDs, etc.
Note that for some legislatures or legislative periods, tables may only hold information for a subset of politicians or variables. In successive versions of the CLD, we fill some of these gaps.
The CLD comes as a relational database. This means that all tables can be joined with the Core table via one of two keys - the Wikipedia page ID or the Wikidata ID. These keys uniquely identify individual politicians. The figure below illustrates this structure and the CLD's content.
legislatoR is available through CRAN and GitHub. To install the package from CRAN, type:
install.packages("legislatoR")
To install the package from Github, type:
devtools::install_github("saschagobel/legislatoR")
A working Internet connection is required to access the CLD in R. This is because the data are stored online and not installed together with the package. The package provides table-specific function calls. These functions are named after the respective table (see above) and preceded by get_
. To fetch the Core table, use the get_core()
function, for the Political table, use the get_political()
function. Call the package help file via ?legislatoR()
to get an overview of all function calls. Tables are legislature-specific, so a three-letter country code must be passed as an argument to the function. Here is a breakdown of all country codes. You can also call the cld_content()
function to get an overview of the CLD's scope and valid country codes.
Legislature | Code | Legislature | Code | Legislature | Code |
---|---|---|---|---|---|
Austrian Nationalrat | aut |
German Bundestag | deu |
UK House of Commons | gbr |
Canadian House of Commons | can |
Irish Dail | irl |
United States Congress | usa_house /usa_senate |
Czech Poslanecka Snemovna | cze |
Scottish Parliament | sco |
||
French Assemblée | fra |
Spanish Congreso | esp |
Tables can be joined and subsetted while being fetched and memory is only allocated by the parts of a table assigned into the environment. Basic fetching, joining, and subsetting of data are illustrated below. See the Vignette Introducing legislatoR for a detailed tutorial.
# load and attach legislatoR and dplyr
library(legislatoR)
library(dplyr)
# assign entire Core table for the German Bundestag into the environment
deu_politicians <- get_core(legislature = "deu")
# assign data for the 8th legislative session into the environment
deu_politicians_subset <- semi_join(x = get_core(legislature = "deu"),
y = filter(get_political(legislature = "deu"), session == 8),
by = "pageid")
# join deu_politicians_subset with respective traffic on Wikipedia biographies
deu_traffic <- left_join(x = deu_politicians_subset,
y = get_traffic(legislature = "deu"),
by = "pageid")
# assign birthdate for members of the political party 'SPD' into the environment
deu_birthdates_SPD <- semi_join(x = select(get_core(legislature = "deu"), pageid, birth),
y = filter(get_political(legislature = "deu"), party == "SPD"),
by = "pageid")$birth
See here for details on updates.
See here for the full form of abbreviated country codes and party names and English translations of non-English party names.
The CLD was predominantly built using automated data extraction techniques. See the source code and this list of Web sources for more details.
Thank you for using the CLD and legislatoR! Please consider citing:
Göbel, Sascha and Simon Munzert. "The Comparative Legislators Database". Forthcoming at British Journal of Political Science.
The work on this package was in part funded by the Daimler and Benz Foundation (Funding period 2017/18; project "Citizen and Elite Activity on the Wikipedia Market Place of Political Information").
Many thanks to Anna Wunderling for designing legislatoR's logo.
Sascha Göbel (corresponding author and repository maintainer)
University of Konstanz
Graduate School of Decision Sciences and Center for Data and Methods
Box 85
D-78457 Konstanz, Germany
Email: sascha.goebel@uni-konstanz.de
Simon Munzert
Hertie School of Governance
Quartier 110 - Friedrichstrasse 180
D-10117 Berlin, Germany
Email: munzert@hertie-school.org