{
  "_id": "6a101871acfb0bcc41c8565f",
  "Package": "SafeVote",
  "Type": "Package",
  "Title": "Election Vote Counting with Safety Features",
  "Version": "1.0.2",
  "Date": "2026-03-23",
  "Authors@R": "c(person(\"Clark\",\"Thomborson\",role=c(\"cre\",\"aut\"),\nemail=\"c.thomborson@auckland.ac.nz\",comment=c(ORCID=\"0000-0002-4147-7898\")))",
  "Description": "Fork of 'vote_2.3-2', Raftery et al. (2021)\n<DOI:10.32614/RJ-2021-086>, with additional support for\nstochastic experimentation.",
  "Encoding": "UTF-8",
  "License": "GPL (>= 2)",
  "Language": "EN-GB",
  "NeedsCompilation": "no",
  "RoxygenNote": "7.3.3",
  "Roxygen": "list(markdown = TRUE)",
  "LazyData": "true",
  "URL": "https://cthombor.github.io/SafeVote/",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "cmake make libicu-dev libuv1-dev",
  "Repository": "https://cthombor.r-universe.dev",
  "Date/Publication": "2026-03-23 18:17:31 UTC",
  "RemoteUrl": "https://github.com/cthombor/safevote",
  "RemoteRef": "HEAD",
  "RemoteSha": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
  "Packaged": {
    "Date": "2026-05-22 08:45:01 UTC",
    "User": "root"
  },
  "Author": "Clark Thomborson [cre, aut] (ORCID:\n<https://orcid.org/0000-0002-4147-7898>)",
  "Maintainer": "Clark Thomborson <c.thomborson@auckland.ac.nz>",
  "MD5sum": "7cb84e74e7c57c0eca4d9f57fc84fa73",
  "_user": "cthombor",
  "_type": "src",
  "_file": "SafeVote_1.0.2.tar.gz",
  "_fileid": "06785091a4b4b2611bd407cd7cc658456e79e12454e2d469d3d3aeef8b536431",
  "_filesize": 757681,
  "_sha256": "06785091a4b4b2611bd407cd7cc658456e79e12454e2d469d3d3aeef8b536431",
  "_created": "2026-05-22T08:45:01.000Z",
  "_published": "2026-05-22T08:48:49.213Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77346516216,
      "time": 166,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7156509395"
    },
    {
      "job": 77346516206,
      "time": 163,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156508610"
    },
    {
      "job": 77346516241,
      "time": 153,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7156500086"
    },
    {
      "job": 77346516268,
      "time": 191,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156506956"
    },
    {
      "job": 77345929849,
      "time": 237,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156458864"
    },
    {
      "job": 77346516211,
      "time": 117,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156494867"
    },
    {
      "job": 77346516208,
      "time": 116,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7156494511"
    },
    {
      "job": 77346516242,
      "time": 113,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7156493745"
    },
    {
      "job": 77346516213,
      "time": 116,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156494389"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cthombor/safevote",
  "_commit": {
    "id": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
    "author": "cthombor <cthombor@pm.me>",
    "committer": "cthombor <cthombor@pm.me>",
    "message": "removed ChangeLog\n",
    "time": 1774289851
  },
  "_maintainer": {
    "name": "Clark Thomborson",
    "email": "c.thomborson@auckland.ac.nz",
    "orcid": "0000-0002-4147-7898"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "formattable",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Imports"
    },
    {
      "package": "fields",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "forcats",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vote",
      "role": "Suggests"
    },
    {
      "package": "STV",
      "role": "Suggests"
    }
  ],
  "_owner": "cthombor",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-13",
      "n": 14
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "cthombor",
      "count": 176,
      "uuid": 12578824
    }
  ],
  "_userbio": {
    "uuid": 12578824,
    "type": "user",
    "name": "Clark Thomborson"
  },
  "_downloads": {
    "count": 229,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/SafeVote"
  },
  "_devurl": "https://github.com/cthombor/safevote",
  "_searchresults": 5,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/SafeVote.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/cthombor/safevote",
  "_realowner": "cthombor",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2023-01-18"
    },
    {
      "version": "1.0.1",
      "date": "2024-10-05"
    },
    {
      "version": "1.0.2",
      "date": "2026-03-23"
    }
  ],
  "_exports": [
    "approval",
    "check.ranking",
    "combineRankings",
    "condorcet",
    "invalid.votes",
    "is.SafeRankExpt",
    "new_SafeRankExpt",
    "plurality",
    "readHil",
    "score",
    "stv",
    "testAdditions",
    "testDeletions",
    "testFraction",
    "view.SafeVote"
  ],
  "_datasets": [
    {
      "name": "a3_hil",
      "title": "Tideman a3_hil",
      "object": "a3_hil",
      "class": [
        "matrix",
        "array"
      ],
      "fields": [
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "10",
        "11",
        "12",
        "13",
        "14",
        "15"
      ],
      "rows": 989,
      "table": true,
      "tojson": true
    },
    {
      "name": "a4_hil",
      "title": "Tideman a4_hil",
      "object": "a4_hil",
      "class": [
        "matrix",
        "array"
      ],
      "fields": [
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "10",
        "11",
        "12",
        "13",
        "14"
      ],
      "rows": 43,
      "table": true,
      "tojson": true
    },
    {
      "name": "a53_hil",
      "title": "Tideman a53_hil",
      "object": "a53_hil",
      "class": [
        "matrix",
        "array"
      ],
      "fields": [
        "A",
        "B",
        "C",
        "D",
        "E",
        "F",
        "G",
        "H",
        "I",
        "J"
      ],
      "rows": 460,
      "table": true,
      "tojson": true
    },
    {
      "name": "auckland2022",
      "title": "Results of Auckland Local Elections 2022",
      "object": "auckland2022",
      "class": [
        "grouped_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "Count",
        "Office",
        "npos",
        "Candidate",
        "Affiliation",
        "Votes",
        "Rank",
        "Note",
        "blankVotes",
        "informalVotes",
        "validVotes",
        "nBallots"
      ],
      "rows": 1076,
      "table": true,
      "tojson": true
    },
    {
      "name": "dublin_west",
      "title": "Dublin West",
      "object": "dublin_west",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Bonnie",
        "Burton",
        "Ryan",
        "Higgins",
        "Lenihan",
        "McDonald",
        "Morrissey",
        "Smyth",
        "Terry"
      ],
      "rows": 29988,
      "table": true,
      "tojson": true
    },
    {
      "name": "dublin_west_vote_count",
      "title": "Dublin West vote count",
      "object": "dublin_west_vote_count",
      "class": [
        "vote.stv"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "dublin_west_vote_count_3seats",
      "title": "Dublin West vote count, identifying the top 3 candidates",
      "object": "dublin_west_vote_count_3seats",
      "class": [
        "vote.stv"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "food_election",
      "title": "Food Election",
      "object": "food_election",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Oranges",
        "Pears",
        "Chocolate",
        "Strawberries",
        "Sweets"
      ],
      "rows": 20,
      "table": true,
      "tojson": true
    },
    {
      "name": "gisborne2022",
      "title": "Results of Gisborne Local Elections 2022",
      "object": "gisborne2022",
      "class": [
        "grouped_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "City",
        "Office",
        "npos",
        "Count",
        "nBallots",
        "nBlanks",
        "nInformals",
        "QuotaFirst",
        "QuotaLast",
        "Candidate.Voting.ID",
        "Candidate.Name",
        "Affiliation",
        "Iteration",
        "Votes.Received",
        "Keep.Value",
        "Rank",
        "Status",
        "Quota",
        "NTV",
        "nRounds",
        "RankByRound",
        "RankByVote"
      ],
      "rows": 126,
      "table": true,
      "tojson": true
    },
    {
      "name": "gisborne2022analysis",
      "title": "Analysis of results from the Gisborne 2022 election.",
      "object": "gisborne2022analysis",
      "class": [
        "grouped_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "City",
        "Office",
        "Count",
        "npos",
        "nBallots",
        "nBlanks",
        "nInformals",
        "sumVotes",
        "maxNTV",
        "excessVotes",
        "closeness"
      ],
      "rows": 9,
      "table": true,
      "tojson": true
    },
    {
      "name": "hamilton2022",
      "title": "Results of Hamilton Local Elections 2022",
      "object": "hamilton2022",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "City",
        "Office",
        "npos",
        "Count",
        "nBallots",
        "nBlanks",
        "nInformals",
        "QuotaFirst",
        "QuotaLast",
        "CandidateVotingID",
        "CandidateName",
        "Affiliation",
        "Iteration",
        "VotesReceived",
        "KeepValue",
        "Rank",
        "Status",
        "Quota",
        "NTV"
      ],
      "rows": 102,
      "table": true,
      "tojson": true
    },
    {
      "name": "hamilton2022analysis",
      "title": "Analysis of results from the Hamilton 2022 election.",
      "object": "hamilton2022analysis",
      "class": [
        "grouped_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "City",
        "Office",
        "Count",
        "npos",
        "nBallots",
        "nBlanks",
        "nInformals",
        "sumVotes",
        "maxNTV",
        "excessVotes",
        "closeness"
      ],
      "rows": 8,
      "table": true,
      "tojson": true
    },
    {
      "name": "ims_approval",
      "title": "IMS Approval",
      "object": "ims_approval",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Tilmann",
        "Julie",
        "Jasper",
        "Li",
        "Wang",
        "Hillary",
        "Claire",
        "Oscar",
        "Declan",
        "Roisin"
      ],
      "rows": 620,
      "table": true,
      "tojson": true
    },
    {
      "name": "ims_election",
      "title": "IMS Election",
      "object": "ims_election",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Tilmann",
        "Julie",
        "Jasper",
        "Li",
        "Wang",
        "Hillary",
        "Claire",
        "Oscar",
        "Declan",
        "Roisin"
      ],
      "rows": 620,
      "table": true,
      "tojson": true
    },
    {
      "name": "ims_plurality",
      "title": "IMS Plurality",
      "object": "ims_plurality",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Tilmann",
        "Julie",
        "Jasper",
        "Li",
        "Wang",
        "Hillary",
        "Claire",
        "Oscar",
        "Declan",
        "Roisin"
      ],
      "rows": 620,
      "table": true,
      "tojson": true
    },
    {
      "name": "ims_score",
      "title": "IMS Score",
      "object": "ims_score",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Tilmann",
        "Julie",
        "Jasper",
        "Li",
        "Wang",
        "Hillary",
        "Claire",
        "Oscar",
        "Declan",
        "Roisin"
      ],
      "rows": 620,
      "table": true,
      "tojson": true
    },
    {
      "name": "ims_stv",
      "title": "IMS STV",
      "object": "ims_stv",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Tilmann",
        "Julie",
        "Jasper",
        "Li",
        "Wang",
        "Hillary",
        "Claire",
        "Oscar",
        "Declan",
        "Roisin"
      ],
      "rows": 620,
      "table": true,
      "tojson": true
    },
    {
      "name": "uk_labour_2010",
      "title": "UK Labour Party Leader 2010",
      "object": "uk_labour_2010",
      "class": [
        "data.frame"
      ],
      "fields": [
        "D.Abbott",
        "E.Balls",
        "A.Burnhm",
        "D.Milbnd",
        "E.Milbnd"
      ],
      "rows": 266,
      "table": true,
      "tojson": true
    },
    {
      "name": "wellington2022analysis",
      "title": "Analysis of results from the Wellington 2022 election.",
      "object": "wellington2022analysis",
      "class": [
        "grouped_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "City",
        "Office",
        "Count",
        "npos",
        "nBallots",
        "nBlanks",
        "nInformals",
        "sumVotes",
        "maxNTV",
        "excessVotes",
        "closeness"
      ],
      "rows": 8,
      "table": true,
      "tojson": true
    },
    {
      "name": "yale_ballots",
      "title": "Yale Faculty Senate 2016",
      "object": "yale_ballots",
      "class": [
        "data.frame"
      ],
      "fields": [
        "ATL_16",
        "ATL_27",
        "ATL_14",
        "ATL_54",
        "ATL_87",
        "ATL_1",
        "ATL_26",
        "ATL_29",
        "ATL_6",
        "ATL_25",
        "ATL_93",
        "ATL_30",
        "ATL_88",
        "ATL_21",
        "ATL_10",
        "ATL_34",
        "ATL_7",
        "ATL_13",
        "ATL_9",
        "ATL_2",
        "ATL_11",
        "ATL_36",
        "ATL_31",
        "ATL_126",
        "ATL_18",
        "ATL_89",
        "ATL_19",
        "ATL_5",
        "ATL_90",
        "ATL_17",
        "ATL_32",
        "ATL_91",
        "ATL_23",
        "ATL_15",
        "ATL_28",
        "ATL_33",
        "ATL_3",
        "ATL_92",
        "ATL_4",
        "ATL_22",
        "ATL_8",
        "ATL_24",
        "ATL_35",
        "ATL_20"
      ],
      "rows": 479,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "dot-print.summary.SafeVote",
      "title": ".print method for summary object",
      "topics": [
        ".print.summary.SafeVote"
      ]
    },
    {
      "page": "dot-summary.SafeVote",
      "title": "summarises vote-totals for subsequent printing",
      "topics": [
        ".summary.SafeVote"
      ]
    },
    {
      "page": "a3_hil",
      "title": "Tideman a3_hil",
      "topics": [
        "a3_hil"
      ]
    },
    {
      "page": "a4_hil",
      "title": "Tideman a4_hil",
      "topics": [
        "a4_hil"
      ]
    },
    {
      "page": "a53_hil",
      "title": "Tideman a53_hil",
      "topics": [
        "a53_hil"
      ]
    },
    {
      "page": "approval",
      "title": "Count votes using the approval method",
      "topics": [
        "approval"
      ]
    },
    {
      "page": "as.SafeRankExpt",
      "title": "as.SafeRankExpt()",
      "topics": [
        "as.SafeRankExpt"
      ]
    },
    {
      "page": "assemble.args.for.check.score",
      "title": "undocumented internal method",
      "topics": [
        "assemble.args.for.check.score"
      ]
    },
    {
      "page": "assemble.args.for.check.stv",
      "title": "undocumented internal method",
      "topics": [
        "assemble.args.for.check.stv"
      ]
    },
    {
      "page": "auckland2022",
      "title": "Results of Auckland Local Elections 2022",
      "topics": [
        "auckland2022"
      ]
    },
    {
      "page": "backwards.tiebreak",
      "title": "Undocumented internal method",
      "topics": [
        "backwards.tiebreak"
      ]
    },
    {
      "page": "check.nseats",
      "title": "parameter-checking method for nseats (internal)",
      "topics": [
        "check.nseats"
      ]
    },
    {
      "page": "check.ranking",
      "title": "check the validity of a partial ranking",
      "topics": [
        "check.ranking"
      ]
    },
    {
      "page": "check.votes",
      "title": "undocumented internal method",
      "topics": [
        "check.votes"
      ]
    },
    {
      "page": "check.votes.approval",
      "title": "undocumented internal method",
      "topics": [
        "check.votes.approval"
      ]
    },
    {
      "page": "check.votes.condorcet",
      "title": "undocumented internal method",
      "topics": [
        "check.votes.condorcet"
      ]
    },
    {
      "page": "check.votes.plurality",
      "title": "undocumented internal method",
      "topics": [
        "check.votes.plurality"
      ]
    },
    {
      "page": "check.votes.score",
      "title": "undocumented internal method",
      "topics": [
        "check.votes.score"
      ]
    },
    {
      "page": "check.votes.stv",
      "title": "undocumented internal method",
      "topics": [
        "check.votes.stv"
      ]
    },
    {
      "page": "check.votes.tworound.runoff",
      "title": "undocumented internal method",
      "topics": [
        "check.votes.tworound.runoff"
      ]
    },
    {
      "page": "combineRankings",
      "title": "the least upper bound on a pair of rankings",
      "topics": [
        "combineRankings"
      ]
    },
    {
      "page": "completeRankingTable",
      "title": "internal method to analyse the partial results of an stv() ballot count, to discover a complete ranking of all candidates.  The ranking may depend on the value of nseats, because this affects how votes are transferred.",
      "topics": [
        "completeRankingTable"
      ]
    },
    {
      "page": "condorcet",
      "title": "Count votes using the Condorcet voting method.",
      "topics": [
        "condorcet"
      ]
    },
    {
      "page": "correct.ranking",
      "title": "Amend ballots with equal or incomplete preferences",
      "topics": [
        "correct.ranking"
      ]
    },
    {
      "page": "dublin_west",
      "title": "Dublin West",
      "topics": [
        "dublin_west"
      ]
    },
    {
      "page": "dublin_west_vote_count",
      "title": "Dublin West vote count",
      "topics": [
        "dublin_west_vote_count"
      ]
    },
    {
      "page": "dublin_west_vote_count_3seats",
      "title": "Dublin West vote count, identifying the top 3 candidates",
      "topics": [
        "dublin_west_vote_count_3seats"
      ]
    },
    {
      "page": "election.info",
      "title": "prints the basic results of an election",
      "topics": [
        "election.info"
      ]
    },
    {
      "page": "extractMargins",
      "title": "extract margins from the results of a ballot count",
      "topics": [
        "extractMargins"
      ]
    },
    {
      "page": "extractRank",
      "title": "Extract a ranking vector by name from the results of a ballot count",
      "topics": [
        "extractRank"
      ]
    },
    {
      "page": "food_election",
      "title": "Food Election",
      "topics": [
        "food_election"
      ]
    },
    {
      "page": "forwards.tiebreak",
      "title": "Undocumented internal method",
      "topics": [
        "forwards.tiebreak"
      ]
    },
    {
      "page": "gisborne2022",
      "title": "Results of Gisborne Local Elections 2022",
      "topics": [
        "gisborne2022"
      ]
    },
    {
      "page": "gisborne2022analysis",
      "title": "Analysis of results from the Gisborne 2022 election.",
      "topics": [
        "gisborne2022analysis"
      ]
    },
    {
      "page": "hamilton2022",
      "title": "Results of Hamilton Local Elections 2022",
      "topics": [
        "hamilton2022"
      ]
    },
    {
      "page": "hamilton2022analysis",
      "title": "Analysis of results from the Hamilton 2022 election.",
      "topics": [
        "hamilton2022analysis"
      ]
    },
    {
      "page": "image.SafeVote.condorcet",
      "title": "The image function visualizes the joint distribution of two preferences (if 'all.pref=FALSE') given 'xpref' and 'ypref', as well as the marginal distribution of all preferences (if 'all.pref=TRUE'). The joint distribution can be shown as proportions (if 'proportion=TRUE') or raw vote counts (if 'proportion=FALSE').",
      "topics": [
        "image.SafeVote.condorcet"
      ]
    },
    {
      "page": "image.SafeVote.stv",
      "title": "visualisation of joint and marginal distributions in STV preferences",
      "topics": [
        "image.SafeVote.stv"
      ]
    },
    {
      "page": "ims_approval",
      "title": "IMS Approval",
      "topics": [
        "ims_approval"
      ]
    },
    {
      "page": "ims_election",
      "title": "IMS Election",
      "topics": [
        "ims_election"
      ]
    },
    {
      "page": "ims_plurality",
      "title": "IMS Plurality",
      "topics": [
        "ims_plurality"
      ]
    },
    {
      "page": "ims_score",
      "title": "IMS Score",
      "topics": [
        "ims_score"
      ]
    },
    {
      "page": "ims_stv",
      "title": "IMS STV",
      "topics": [
        "ims_stv"
      ]
    },
    {
      "page": "invalid.votes",
      "title": "Extracts the invalid.votes member (if any) from the result of a count",
      "topics": [
        "invalid.votes"
      ]
    },
    {
      "page": "is.SafeRankExpt",
      "title": "is.SafeRankExpt()",
      "topics": [
        "is.SafeRankExpt"
      ]
    },
    {
      "page": "is.valid.vote",
      "title": "undocumented internal method",
      "topics": [
        "is.valid.vote"
      ]
    },
    {
      "page": "loserMargin",
      "title": "Find a loser and their margin of victory",
      "topics": [
        "loserMargin"
      ]
    },
    {
      "page": "new_SafeRankExpt",
      "title": "Constructor for the results of a SafeRank experiment",
      "topics": [
        "new_SafeRankExpt"
      ]
    },
    {
      "page": "ordered.preferences",
      "title": "Undocumented internal method",
      "topics": [
        "ordered.preferences"
      ]
    },
    {
      "page": "ordered.tiebreak",
      "title": "Undocumented internal method",
      "topics": [
        "ordered.tiebreak"
      ]
    },
    {
      "page": "plot.SafeRankExpt",
      "title": "plot() method for the result of an experiment with varying numbers of ballots",
      "topics": [
        "plot.SafeRankExpt"
      ]
    },
    {
      "page": "plot.SafeVote.stv",
      "title": "plot() method for the result of an stv() ballot-count",
      "topics": [
        "plot.SafeVote.stv"
      ]
    },
    {
      "page": "plurality",
      "title": "Count votes using the plurality method",
      "topics": [
        "plurality"
      ]
    },
    {
      "page": "prepare.votes",
      "title": "Coerce input 'data' into a matrix",
      "topics": [
        "prepare.votes"
      ]
    },
    {
      "page": "print.summary.SafeRankExpt",
      "title": "Print method for summary.SafeRankExpt",
      "topics": [
        "print.summary.SafeRankExpt"
      ]
    },
    {
      "page": "print.summary.SafeVote.approval",
      "title": "print method for summary object",
      "topics": [
        "print.summary.SafeVote.approval"
      ]
    },
    {
      "page": "print.summary.SafeVote.condorcet",
      "title": "print method for summary.SafeVote.condorcet",
      "topics": [
        "print.summary.SafeVote.condorcet"
      ]
    },
    {
      "page": "print.summary.SafeVote.plurality",
      "title": "print method for summary of plurality object",
      "topics": [
        "print.summary.SafeVote.plurality"
      ]
    },
    {
      "page": "print.summary.SafeVote.score",
      "title": "print method for summary.score object",
      "topics": [
        "print.summary.SafeVote.score"
      ]
    },
    {
      "page": "print.summary.SafeVote.stv",
      "title": "print() method for a summary() of a SafeVote result",
      "topics": [
        "print.summary.SafeVote.stv"
      ]
    },
    {
      "page": "rbind_SafeRankExpt",
      "title": "add a row to a SafeRankExpt object, using dplyr::bind_rows()",
      "topics": [
        "rbind_SafeRankExpt"
      ]
    },
    {
      "page": "readHil",
      "title": "read a set of ballots in .HIL format",
      "topics": [
        "readHil"
      ]
    },
    {
      "page": "remove.candidate",
      "title": "Remove a candidate, amending ballot papers as required",
      "topics": [
        "remove.candidate"
      ]
    },
    {
      "page": "score",
      "title": "Count votes using the score (or range) method.",
      "topics": [
        "score"
      ]
    },
    {
      "page": "solveTiebreak",
      "title": "Undocumented internal method, renamed from 'solve.tiebreak' to avoid confusion with generic solve()",
      "topics": [
        "solveTiebreak"
      ]
    },
    {
      "page": "stv",
      "title": "Count preferential ballots using an STV method",
      "topics": [
        "stv"
      ]
    },
    {
      "page": "summary.SafeRankExpt",
      "title": "summary method for SafeRankExpt",
      "topics": [
        "summary.SafeRankExpt"
      ]
    },
    {
      "page": "summary.SafeVote.approval",
      "title": "summary method for approval results",
      "topics": [
        "summary.SafeVote.approval"
      ]
    },
    {
      "page": "summary.SafeVote.condorcet",
      "title": "Summary method for condorcet() results",
      "topics": [
        "summary.SafeVote.condorcet"
      ]
    },
    {
      "page": "summary.SafeVote.plurality",
      "title": "summary method for plurality object",
      "topics": [
        "summary.SafeVote.plurality"
      ]
    },
    {
      "page": "summary.SafeVote.score",
      "title": "summary method for score object",
      "topics": [
        "summary.SafeVote.score"
      ]
    },
    {
      "page": "summary.SafeVote.stv",
      "title": "summary() method for a SafeVote result",
      "topics": [
        "summary.SafeVote.stv"
      ]
    },
    {
      "page": "sumOfVotes",
      "title": "internal method, computes column-sums",
      "topics": [
        "sumOfVotes"
      ]
    },
    {
      "page": "testAdditions",
      "title": "Test the sensitivity of a result to tactical voting.",
      "topics": [
        "testAdditions"
      ]
    },
    {
      "page": "testDeletions",
      "title": "Assess the safety of a preliminary result for an election",
      "topics": [
        "testDeletions"
      ]
    },
    {
      "page": "testFraction",
      "title": "Bootstrapping experiment, with fractional counts of a ballot box.",
      "topics": [
        "testFraction"
      ]
    },
    {
      "page": "translate.ties",
      "title": "Undocumented internal method from original code",
      "topics": [
        "translate.ties"
      ]
    },
    {
      "page": "uk_labour_2010",
      "title": "UK Labour Party Leader 2010",
      "topics": [
        "uk_labour_2010"
      ]
    },
    {
      "page": "view.SafeVote",
      "title": "generic view() for classes defined in this package",
      "topics": [
        "view.SafeVote"
      ]
    },
    {
      "page": "view.SafeVote.approval",
      "title": "view method for approval object",
      "topics": [
        "view.SafeVote.approval"
      ]
    },
    {
      "page": "view.SafeVote.condorcet",
      "title": "view method for SafeVote.condorcet",
      "topics": [
        "view.SafeVote.condorcet"
      ]
    },
    {
      "page": "view.SafeVote.plurality",
      "title": "view method for plurality object",
      "topics": [
        "view.SafeVote.plurality"
      ]
    },
    {
      "page": "view.SafeVote.score",
      "title": "view method for score object",
      "topics": [
        "view.SafeVote.score"
      ]
    },
    {
      "page": "view.SafeVote.stv",
      "title": "view method for the result of an stv() ballot-count",
      "topics": [
        "view.SafeVote.stv"
      ]
    },
    {
      "page": "wellington2022analysis",
      "title": "Analysis of results from the Wellington 2022 election.",
      "topics": [
        "wellington2022analysis"
      ]
    },
    {
      "page": "winnerMargin",
      "title": "Find a winner and their margin of victory",
      "topics": [
        "winnerMargin"
      ]
    },
    {
      "page": "yale_ballots",
      "title": "Yale Faculty Senate 2016",
      "topics": [
        "yale_ballots"
      ]
    }
  ],
  "_readme": "https://github.com/cthombor/safevote/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "cpp11",
    "data.table",
    "digest",
    "dotCall64",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fields",
    "fontawesome",
    "forcats",
    "formattable",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "highr",
    "htmltools",
    "htmlwidgets",
    "isoband",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "lifecycle",
    "magrittr",
    "maps",
    "memoise",
    "mime",
    "pillar",
    "pkgconfig",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "spam",
    "stringi",
    "stringr",
    "tibble",
    "tidyselect",
    "tinytex",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "yaml"
  ],
  "_score": 2.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "safevote",
  "_universes": [
    "cthombor"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.2",
      "date": "2026-05-22T08:47:17.000Z",
      "distro": "noble",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "dc4f84d08ade4f39150c08d13662a0f41e3e6056b6c8ca0bcab7efa5f4eca3f0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.2",
      "date": "2026-05-22T08:47:19.000Z",
      "distro": "noble",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "b3ee37fbaf60ecc0505afc06290fdf07dde5ec4e61f5611753c4151fd00668c1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-05-22T08:47:08.000Z",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "d6e3c5d395e11547bb5c013efb035a79b80510b14688f6e618cae702fdac33a6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.2",
      "date": "2026-05-22T08:47:21.000Z",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "2d2ff82b09d2318bf26d51cb1d73c9bc18672ef6711ba472308c160bdb7ee173",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.2",
      "date": "2026-05-22T08:47:18.000Z",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "df321006a4029a52ee04b4456b18636470ed2e735b68b95854ed5dbef08fbbb1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-22T08:46:19.000Z",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "076c00d3d9c22487805e33d3ba7f6e82b2eab7231a9c09888a41929025643c58",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-22T08:46:29.000Z",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "2d8039a061082f04fa3bd52bfa5cf0c88a2eb50320dd399ef222bfaae5720867",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.2",
      "date": "2026-05-22T08:46:19.000Z",
      "commit": "e943b28176dee421a0c562f0a3fc74e488ab41a5",
      "fileid": "53b51f4c463b9b7e05cbd2bc1105d198c88a80f70e959959f9581b762d0d3e03",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cthombor/actions/runs/26277689106"
    }
  ]
}