Creates a rollcall
object from the flat file format for roll
call data used by
Keith Poole and Howard Rosenthal.
readKH(file,
dtl=NULL,
yea=c(1,2,3),
nay=c(4,5,6),
missing=c(7,8,9),
notInLegis=0,
desc=NULL,
debug=FALSE)
an object of class rollcall
, with components created
using the identifying information in the Poole/Rosenthal files. If
the function can not read the file (e.g., the user specified a URL and
the machine is not connected to the Internet), the function fails with
an error message (set debug=TRUE
to help resolve these issues).
string, name of a file or URL holding KH data
string, name of a file or URL holding KH dtl
file
(information about votes); default is NULL
, indicating no
dtl
file
numeric, possibly a vector, code(s) for a Yea vote in the
rollcall context (or a correct answer in the educational testing
context). Default is c(1,2,3)
, which corresponds to Yea,
Paired Yea, and Announced Yea in Poole/Rosenthal data files.
numeric, possibly a vector, code(s) for a Nay vote in the
rollcall context (or an incorrect answer in the educational testing
context). Default is c(4,5,6)
, which corresponds to
Announced Nay, Paired Nay, and Nay in Poole/Rosenthal data files.
numeric and/or NA
, possible a vector, code(s)
for missing data. Default is c(0,7,8,9,NA)
; the first four
codes correspond to Not Yet a Member, Present (some Congresses),
Present (some Congresses), and Not Voting.
numeric or NA
, possibly a vector, code(s) for
the legislator not being in the legislature when a particular roll
call was recorded (e.g., deceased, retired, yet to be
elected). Default is 0
for Poole/Rosenthal data files.
string, describing the data, e.g., 82nd U.S. House
of Representatives
; default is NULL
logical, print debugging information for net connection
Simon Jackman simon.jackman@sydney.edu.au
Keith Poole and Howard Rosenthal have gathered an impressive collection of roll call data, spanning every roll call cast in the United States Congress. This effort continues now as a real-time exercise, via a collaboration with Jeff Lewis (109th Congress onwards). Nolan McCarty collaborated on the compilation of roll call data for the 102nd through 108th Congress.
This function relies on some hard-coded features of Poole-Rosenthal
flat files, and assumes that the file
being supplied has the following
structure (variable, start-end columns):
4-8
9-10
11-12
13-20
21-23
26-36
37 to end-of-record
This function reads data files in that format, and creates a
rollcall
, for which there are useful methods such as
summary.rollcall
. The legis.data
component of the
rollcall
object is a data.frame
which
contains:
state
a 2-character string abbreviation of each legislator' state
icpsrState
a 2-digit numeric code for each legislator's state, as used by the Inter-university Consortium for Political and Social Research (ICPSR)
cd
numeric, the number of each legislator's congressional district within each state; this is always 0 for members of the Senate
icpsrLegis
a unique numeric identifier for each legislator assigned by the ICPSR, as corrected by Poole and Rosenthal.
partyName
character string, the name of each legislator's political party
party
numeric, code for each legislator's political party; see http://legacy.voteview.com/PARTY3.HTM
The rownames
attribute of this data frame is a
concatenation of the legislators' names, party abbreviations (for
Democrats and Republicans) and state, and (where appropriate), a
district number; e.g., Bonner (R AL-1)
. This tag is also
provided in the legis.name
component of the returned rollcall
object.
Poole and Rosenthal also make dtl
files available for
Congresses 1 through 106. These files contain information about the
votes themselves, in a multiple-line per vote ascii
format, and
reside in the dtl
director of Poole's web site, e.g.,
https://legacy.voteview.com/k7ftp/dtl/102s.dtl is the dtl
file for the 102nd Senate. The default is to presume that no such
file exists. When a dtl
file is available, and is read, the
votes.data
attribute of the resulting rollcall
object is a data.frame
with one record per vote, with
the following variables:
date
vector of class Date
, date of the
rollcall, if available; otherwise NULL
description
vector of mode character
, descriptive
text
The dtl
files are presumed to have the date of the rollcall in
the first line of text for each roll call, and lines 3 onwards contain
descriptive text.
Finally, note also that the Poole/Rosenthal data sets often include the U.S. President as a pseudo-legislator, adding the announced positions of a president or the administration to the roll call matrix. This adds an extra “legislator” to the data set and can sometimes produce surprising results (e.g., a U.S. Senate of 101 senators), and a “legislator” with a surprisingly low party loyalty score (since the President/administration only announces positions on a relatively small fraction of all Congressional roll calls).
Poole, Keith and Howard Rosenthal. 1997. Congress: A Political-Economic History of Roll Call Voting. New York: Oxford University Press.
Poole, Keith. http://legacy.voteview.com
Rosenthal, Howard L. and Keith T. Poole. United States Congressional Roll Call Voting Records, 1789-1990: Reformatted Data [computer file]. 2nd ICPSR release. Pittsburgh, PA: Howard L. Rosenthal and Keith T. Poole, Carnegie Mellon University, Graduate School of Industrial Administration [producers], 1991. Ann Arbor, MI: Inter-university Consortium for Political and Social Research [distributor], 2000. http://www.icpsr.umich.edu/icpsrweb/ICPSR/studies/09822
rollcall
if (FALSE) {
h107 <- readKH("https://voteview.com/static/data/out/votes/H107_votes.ord",
desc="107th U.S. House of Representatives")
s107 <- readKH("https://voteview.com/static/data/out/votes/S107_votes.ord",
desc="107th U.S. Senate")
}
Run the code above in your browser using DataLab