Learn R Programming

pvsR (version 0.1.1)

Candidates.getByOfficeState: Get a list of candidates according to office and state representation

Description

This function is a wrapper for the Candidates.getByOfficeState() method of the PVS API Candidate class which grabs a list of candidates according to office and state representation. The function sends a request with this method to the PVS API for all state IDs, office IDs and election years given as a function input, extracts the XML values from the returned XML file(s) and returns them arranged in one data frame.

Usage

Candidates.getByOfficeState(stateId="NA", officeId,
    electionYear=NULL, all=FALSE)

Arguments

stateId
(optional) a character string or list of character strings with the state ID(s) (default: NA) (see references for details)
officeId
a character string or list of character strings with the office ID(s) (see references for details)
electionYear
(optional) a character string or list of character strings with the election year(s) (default: >= current year)
all
a logical indicator; if TRUE data on all possible combinations of the input variables are returned, if FALSE (default) only the exact combinations of them (see example)

Value

  • A data frame with a row for each candidate and year and columns with variables describing the candidate. The returned data frame contains a row for each candidate and year and columns with the following variables describing the candidate: candidateList.candidate*.candidateId, candidateList.candidate*.firstName, candidateList.candidate*.nickName, candidateList.candidate*.middleName, candidateList.candidate*.preferredName, candidateList.candidate*.lastName, candidateList.candidate*.suffix, candidateList.candidate*.title, candidateList.candidate*.ballotName, candidateList.candidate*.electionParties, candidateList.candidate*.electionStatus, candidateList.candidate*.electionStage, candidateList.candidate*.electionDistrictId, candidateList.candidate*.electionDistrictName, candidateList.candidate*.electionOffice, candidateList.candidate*.electionOfficeId, candidateList.candidate*.electionStateId, candidateList.candidate*.electionOfficeTypeId, candidateList.candidate*.electionYear, candidateList.candidate*.electionSpecial, candidateList.candidate*.electionDate, candidateList.candidate*.officeParties, candidateList.candidate*.officeStatus, candidateList.candidate*.officeDistrictId, candidateList.candidate*.officeDistrictName, candidateList.candidate*.officeStateId, candidateList.candidate*.officeId, candidateList.candidate*.officeName, candidateList.candidate*.officeTypeId, candidateList.candidate*.runningMateId, candidateList.candidate*.runningMateName.

References

http://api.votesmart.org/docs/Candidates.html Use State.getStateIDs() to get a list of state IDs. See http://api.votesmart.org/docs/semi-static.html for a list of office IDs or use Office.getOfficesByType(), Office.getOfficesByLevel(), Office.getOfficesByTypeLevel() or Office.getOfficesByBranchLevel() to get a list of office ID(s).

Examples

Run this code
# First, make sure your personal PVS API key is saved as character string in the pvs.key variable:
pvs.key <- "yourkey"
# get a data frame of candidates according to all state/office/electionYear combinations
candidates <- Candidates.getByOfficeState(stateId=list("NJ","NY"),officeId=list(6,7),
electionYear=list(2012,2008), all=TRUE)
candidates
# get a data frame of candidates according to the exact state/office/electionYear combinations
# (i.e., "NY"/6/2012, "NJ"/7/2008)
candidates <- Candidates.getByOfficeState(stateId=list("NJ","NY"),officeId=list(6,7),
 electionYear=list(2012,2008), all=TRUE)
candidates

Run the code above in your browser using DataLab