dwnominate
provides a simplified R interface to the DW-NOMINATE roll call scaling program, based on the Fortran source code available at Keith Poole’s website.
DW-NOMINATE (Dynamic Weighted NOMINAl Three-step Estimation) estimates dynamic models of legislator ideology using roll call votes, and can efficiently estimate static ideology models across multiple legislative sessions. The results can be used to measure legislative ideology and polarization over time.
Installation requires a Fortran compiler as well as BLAS and LAPACK libraries. On Windows these are conveniently available as part of Rtools. MacOS includes BLAS and LAPACK, so it only requires installing a Fortran compiler. I recommend following the advice provided by CRAN here. On Linux these will be installed with the r-base-dev
library (or the equivalent for your distribution).
Once the dependencies are satisfied, the package can be installed from R by running:
install.packages('remotes')
remotes::install_github('wmay/dwnominate')
DW-NOMINATE is run via the dwnominate
function, which takes as its main argument a list of rollcall
objects from the pscl package. The package includes data from the New Hampshire State Senate for use in examples.
library(dwnominate)
data(nhsenate) # a list of `rollcall` objects
results <- dwnominate(nhsenate)
plot(results)
The results are returned as a dwnominate
object with estimates of legislator and roll call coordinates. Get detailed information about DW-NOMINATE options with ?dwnominate
and help(package=dwnominate)
.