Read the list of elected officials in the United States Senate.
readUSsenate(url.=
"https://www.senate.gov/general/contact_information/senators_cfm.xml",
stateAbbreviations=Ecdat::USstateAbbreviations,
fixNonStandard=subNonStandardNames, ...)
Universal resource locator to be read and processed to obtain the desired list. (The current default was suggested by Julia Silge.)
a data.frame
giving names and
alternative codes for US states and territories.
This must have a column named "Name" giving the
names of all 50 states as they appear on the
url
and another whose name includes
"USPS" giving the correspoding 2-letter codes.
function to look for and repair nonstandard names such as names containing characters with accent marks that are sometimes mangled by different software.
optional arguments passed to
fixNonStandard
readUSsenate
returns a data.frame
with the
following columns:
A factor identifying the state the person represents
A factor giving the 2-letter USPS code for the state represented
an integer = 1, 2, or 3 for election in the 6-year cycle including 2008, 2010, or 2012, respectively.
A character vector giving the name of each representative (in surname, given name format)
a factor identifying the party affiliation of each representative ("D", "R", "I" or ...)
character vector of physical addresses of offices in Washington, DC.
character vector the phone number of the offices in Washington, DC.
a character vector giving the URL of their office contact form.
a character vector giving the URL of their web site in "senate.gov".
character vector giving the surname of each representative
given name of each representative (possibly with middle name or initial, a nickname, and a suffix like "Jr.")
a character vector giving the names of the official leaders or blank.
1. Senate <- readHTMLTable(url)
2. Use camelParse
to remove duplication
in Name
.
3. Look for and fix surname
and givenName
with nonstandard characters using fixNonStandard
.
getURL
readHTMLTable
camelParse
to remove duplication in Name
readUShouse
UShouse.senate
parseName
subNonStandardNames
# NOT RUN {
if(!fda::CRAN()){
USsenate <- readUSsenate()
}
# }
Run the code above in your browser using DataLab