tri.audit.sim | R Documentation |
This is a SIMULATION FUNCTION, and is not used for actual auditing of elections.
tri.audit.sim( Z, n, p_d = 0.1, swing = 5, return.type = c("statistics", "taints", "precinct"), seed = NULL, PID = "PID", ... )
Z |
elec.data object. |
n |
Sample size to draw. |
p_d |
The probability of a precinct having an error. |
swing |
The size of the error, in votes. |
return.type |
What kind of results to return: "statistics","taints", or "precinct" |
seed |
Random seed to use. |
PID |
Column name of column holding unique precinct IDs |
... |
Extra arguments passed to tri.sample |
Given a matrix of votes, calculate the weights for all precincts and then draw a sample (using tri.sample). Then, assuming that p\_d percent of the precincts (at random) have error, and the errors are due to vote miscounts of size 'swing', conduct a simulated “audit”, returning the found descrepancies.
List of taints found in such a circumstance OR precincts selected with relevant attributes (including simulated errors, if asked) OR the number of non-zero taints and the size of largest taint.
Luke W. Miratrix
elec.data
for the object that holds vote data. See
tri.calc.sample
for computing sample sizes for trinomial bound
audits.
data(santa.cruz) Z = elec.data(santa.cruz, C.names=c("leopold","danner")) Z$V$e.max = maximumMarginBound( Z ) ## Sample from fake truth, see how many errors we get. tri.audit.sim( Z, 10, p_d=0.25, swing=10, return.type="precinct" ) ## what does distribution look like? res = replicate( 200, tri.audit.sim( Z, 10, p_d=0.25, swing=10 ) ) apply(res,1, summary) hist( res[2,], main="Distribution of maximum size taint" )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.