{
  "_id": "6a1c108c1d7bb097a0a2e945",
  "Package": "prefviz",
  "Title": "Visualizes Preferential Data in One and More Contests",
  "Version": "0.1.2",
  "Authors@R": "c(\nperson(\"Linh\", \"Ngo\", email = \"linhngo66.work@gmail.com\", role = c(\"aut\", \"cre\")),\nperson(\"Dianne\", \"Cook\", email = \"DiCook@monash.edu\", role = \"aut\", comment = c(ORCID = \"0000-0002-3813-7155\")),\nperson(\"Damjan\", \"Vukcevic\", email = \"damjan.vukcevic@monash.edu\", role = \"aut\", comment = c(ORCID = \"0000-0001-7780-9586\")))",
  "Description": "A visualization toolkit for preferential data, such as\nranked-choice election results, tournament outcomes, and survey\nresponses. The package provides methods to visualise the\npreference distribution of one contest with bar charts and\npairwise comparisons of two contestants, as well as methods to\nvisualise multiple contests through 2D and high-dimensional\nsimplex plots both statically and interactively. HD simplex\ndisplays are implemented via projection methods using the\n'tourr' and 'detourr' packages, enabling dynamic exploration of\nhigh-dimensional preference structure. For more details on HD\nsimplex projection, see Wickham et al. (2011)\n<doi:10.21105/joss.03419>.",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "URL": "https://numbats.github.io/prefviz/",
  "BugReports": "https://github.com/numbats/prefviz/issues",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://numbats.r-universe.dev",
  "Date/Publication": "2026-05-01 00:12:41 UTC",
  "RemoteUrl": "https://github.com/numbats/prefviz",
  "RemoteRef": "HEAD",
  "RemoteSha": "437b264a890772f74aaf45164a2e0720e57cdac5",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-31 10:39:00 UTC",
    "User": "root"
  },
  "Author": "Linh Ngo [aut, cre],\nDianne Cook [aut] (ORCID: <https://orcid.org/0000-0002-3813-7155>),\nDamjan Vukcevic [aut] (ORCID: <https://orcid.org/0000-0001-7780-9586>)",
  "Maintainer": "Linh Ngo <linhngo66.work@gmail.com>",
  "MD5sum": "34fca9f74110bb880414ad1ef81f3a4f",
  "_user": "numbats",
  "_type": "src",
  "_file": "prefviz_0.1.2.tar.gz",
  "_fileid": "6837dd7b074dfa453b2fc3ea4bb3cef4315c976f370294fac298bcab1773b973",
  "_filesize": 2154709,
  "_sha256": "6837dd7b074dfa453b2fc3ea4bb3cef4315c976f370294fac298bcab1773b973",
  "_created": "2026-05-31T10:39:00.000Z",
  "_published": "2026-05-31T10:42:20.186Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78719270572,
      "time": 155,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7316044178"
    },
    {
      "job": 78719270565,
      "time": 164,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7316045008"
    },
    {
      "job": 78719270578,
      "time": 145,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7316041011"
    },
    {
      "job": 78719270580,
      "time": 153,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7316040630"
    },
    {
      "job": 78719060275,
      "time": 217,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7316027500"
    },
    {
      "job": 78719270577,
      "time": 129,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7316041443"
    },
    {
      "job": 78719270598,
      "time": 98,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7316038225"
    },
    {
      "job": 78719270599,
      "time": 100,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7316038501"
    },
    {
      "job": 78719270586,
      "time": 90,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7316037453"
    }
  ],
  "_buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/numbats/prefviz",
  "_commit": {
    "id": "437b264a890772f74aaf45164a2e0720e57cdac5",
    "author": "linhngo66 <tngo0043@student.monash.edu>",
    "committer": "linhngo66 <tngo0043@student.monash.edu>",
    "message": "Increment version number to 0.1.2\n",
    "time": 1777594361
  },
  "_maintainer": {
    "name": "Linh Ngo",
    "email": "linhngo66.work@gmail.com"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "prefio",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "geozoo",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "tourr",
      "role": "Suggests"
    },
    {
      "package": "kableExtra",
      "role": "Suggests"
    },
    {
      "package": "ggthemes",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "numbats",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-47",
      "n": 1
    },
    {
      "week": "2025-48",
      "n": 8
    },
    {
      "week": "2025-49",
      "n": 1
    },
    {
      "week": "2025-50",
      "n": 8
    },
    {
      "week": "2025-51",
      "n": 7
    },
    {
      "week": "2025-52",
      "n": 4
    },
    {
      "week": "2026-01",
      "n": 15
    },
    {
      "week": "2026-02",
      "n": 8
    },
    {
      "week": "2026-03",
      "n": 11
    },
    {
      "week": "2026-04",
      "n": 7
    },
    {
      "week": "2026-07",
      "n": 2
    },
    {
      "week": "2026-09",
      "n": 5
    },
    {
      "week": "2026-10",
      "n": 1
    },
    {
      "week": "2026-11",
      "n": 4
    },
    {
      "week": "2026-13",
      "n": 1
    },
    {
      "week": "2026-14",
      "n": 5
    },
    {
      "week": "2026-15",
      "n": 1
    },
    {
      "week": "2026-17",
      "n": 11
    },
    {
      "week": "2026-18",
      "n": 3
    }
  ],
  "_tags": [],
  "_stars": 1,
  "_contributors": [
    {
      "user": "linhngo66",
      "count": 99,
      "uuid": 63438788
    },
    {
      "user": "dvukcevic",
      "count": 2,
      "uuid": 8169568
    },
    {
      "user": "dicook",
      "count": 2,
      "uuid": 253191
    }
  ],
  "_userbio": {
    "uuid": 16892331,
    "type": "organization",
    "name": "NUMBATS: Non-Uniform Monash Business Analytics Team repo for joint projects",
    "description": "We are part of Monash University, Department of Econometrics and Business Statistics. "
  },
  "_downloads": {
    "count": 505,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/prefviz"
  },
  "_devurl": "https://github.com/numbats/prefviz",
  "_pkgdown": "https://numbats.github.io/prefviz/",
  "_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/prefviz.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/numbats/prefviz",
  "_realowner": "numbats",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.1",
      "date": "2026-04-13"
    },
    {
      "version": "0.1.2",
      "date": "2026-05-01"
    }
  ],
  "_exports": [
    "add_ternary_base",
    "add_vertex_labels",
    "as_ternable",
    "dop_bar",
    "dop_irv",
    "dop_transform",
    "geom_ternary_region",
    "get_tern_data2d",
    "get_tern_datahd",
    "get_tern_edges",
    "get_tern_labels",
    "helmert_transform",
    "pairwise_calculator",
    "pairwise_heatmap",
    "stat_ordered_path",
    "stat_ternary_region",
    "StatOrderedPath",
    "StatTernaryRegion"
  ],
  "_datasets": [
    {
      "name": "aecdop_2022",
      "title": "Distribution of preferences by candidate by division in the Australian Federal Election (2022 and 2025)",
      "object": "aecdop_2022",
      "class": [
        "spec_tbl_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "StateAb",
        "DivisionID",
        "DivisionNm",
        "CountNumber",
        "BallotPosition",
        "CandidateID",
        "Surname",
        "GivenNm",
        "PartyAb",
        "PartyNm",
        "Elected",
        "HistoricElected",
        "CalculationType",
        "CalculationValue"
      ],
      "rows": 35096,
      "table": true,
      "tojson": true
    },
    {
      "name": "aecdop_2025",
      "title": "Distribution of preferences by candidate by division in the Australian Federal Election (2022 and 2025)",
      "object": "aecdop_2025",
      "class": [
        "spec_tbl_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "StateAb",
        "DivisionID",
        "DivisionNm",
        "CountNumber",
        "BallotPosition",
        "CandidateID",
        "Surname",
        "GivenNm",
        "PartyAb",
        "PartyNm",
        "Elected",
        "HistoricElected",
        "CalculationType",
        "CalculationValue"
      ],
      "rows": 30888,
      "table": true,
      "tojson": true
    },
    {
      "name": "aecdop22_transformed",
      "title": "Distribution of preferences in wide form for selected parties (2022 and 2025)",
      "object": "aecdop22_transformed",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "DivisionNm",
        "CountNumber",
        "ElectedParty",
        "ALP",
        "LNP",
        "Other"
      ],
      "rows": 1052,
      "table": true,
      "tojson": true
    },
    {
      "name": "aecdop25_transformed",
      "title": "Distribution of preferences in wide form for selected parties (2022 and 2025)",
      "object": "aecdop25_transformed",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "DivisionNm",
        "CountNumber",
        "ElectedParty",
        "ALP",
        "GRN",
        "LNP",
        "Other",
        "IND"
      ],
      "rows": 976,
      "table": true,
      "tojson": true
    },
    {
      "name": "elb_centroid",
      "title": "Centroids of electoral divisions in the 2025 Australian Federal Election",
      "object": "elb_centroid",
      "class": [
        "data.frame"
      ],
      "fields": [
        "id",
        "elect_div",
        "numccds",
        "area_sqkm",
        "long",
        "lat"
      ],
      "rows": 150,
      "table": true,
      "tojson": true
    },
    {
      "name": "elb_map",
      "title": "Electoral boundaries map for the 2025 Australian Federal Election",
      "object": "elb_map",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "long",
        "lat",
        "hole",
        "piece",
        "group",
        "order",
        "id",
        "elect_div"
      ],
      "rows": 125263,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "add_ternary_base",
      "title": "Draw the 2D ternary simplex",
      "topics": [
        "add_ternary_base"
      ]
    },
    {
      "page": "add_vertex_labels",
      "title": "Add vertex labels to ternary plot",
      "topics": [
        "add_vertex_labels"
      ]
    },
    {
      "page": "aecdop",
      "title": "Distribution of preferences by candidate by division in the Australian Federal Election (2022 and 2025)",
      "topics": [
        "aecdop",
        "aecdop_2022",
        "aecdop_2025"
      ]
    },
    {
      "page": "aecdop_transformed",
      "title": "Distribution of preferences in wide form for selected parties (2022 and 2025)",
      "topics": [
        "aecdop22_transformed",
        "aecdop25_transformed",
        "aecdop_transformed"
      ]
    },
    {
      "page": "as_ternable",
      "title": "Create a ternable object",
      "topics": [
        "as_ternable"
      ]
    },
    {
      "page": "dop_bar",
      "title": "Bar chart of preference distribution for one contest",
      "topics": [
        "dop_bar"
      ]
    },
    {
      "page": "dop_irv",
      "title": "Get full distribution of preferences in each instant runoff voting round as percentage",
      "topics": [
        "dop_irv"
      ]
    },
    {
      "page": "dop_transform",
      "title": "Transform AEC distribution of preferences from long to wide format",
      "topics": [
        "dop_transform"
      ]
    },
    {
      "page": "elb_centroid",
      "title": "Centroids of electoral divisions in the 2025 Australian Federal Election",
      "topics": [
        "elb_centroid"
      ]
    },
    {
      "page": "elb_map",
      "title": "Electoral boundaries map for the 2025 Australian Federal Election",
      "topics": [
        "elb_map"
      ]
    },
    {
      "page": "geom_ternary_region",
      "title": "Create polygonal regions in a ternary plot based on a reference point",
      "topics": [
        "geom_ternary_region",
        "StatTernaryRegion",
        "stat_ternary_region"
      ]
    },
    {
      "page": "helmert_transform",
      "title": "Transform compositional data using Helmert matrix",
      "topics": [
        "helmert_transform"
      ]
    },
    {
      "page": "pairwise_calculator",
      "title": "Compute pairwise results from ranked preference data",
      "topics": [
        "pairwise_calculator"
      ]
    },
    {
      "page": "pairwise_heatmap",
      "title": "Heatmap of pairwise results",
      "topics": [
        "pairwise_heatmap"
      ]
    },
    {
      "page": "stat_ordered_path",
      "title": "Reorder observations for a path geom",
      "topics": [
        "StatOrderedPath",
        "stat_ordered_path"
      ]
    },
    {
      "page": "ternary_getters",
      "title": "Getter functions to extract components from ternable object for ternary plots",
      "topics": [
        "get_tern_data2d",
        "get_tern_datahd",
        "get_tern_edges",
        "get_tern_labels",
        "ternary_getters"
      ]
    }
  ],
  "_readme": "https://github.com/numbats/prefviz/raw/HEAD/README.md",
  "_rundeps": [
    "bitops",
    "cli",
    "cpp11",
    "dplyr",
    "farver",
    "generics",
    "geozoo",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "prefio",
    "purrr",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "add_ordered_path.Rmd",
      "filename": "add_ordered_path.html",
      "title": "Adding ordered path to your ternary plot",
      "engine": "knitr::rmarkdown",
      "headings": [
        "2D ternary plot",
        "High-dimensional ternary plot"
      ],
      "created": "2026-01-20 00:02:47",
      "modified": "2026-04-21 03:00:35",
      "commits": 6
    },
    {
      "source": "transform_raw_data.Rmd",
      "filename": "transform_raw_data.html",
      "title": "Transforming voting data to ternable-friendly format",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "ternable-friendly data",
        "PrefLib-formatted data",
        "Raw ballot data in long and wide formats",
        "AEC distribution of preferences"
      ],
      "created": "2025-12-18 11:42:26",
      "modified": "2026-02-26 06:22:11",
      "commits": 7
    },
    {
      "source": "draw_ternary_plot.Rmd",
      "filename": "draw_ternary_plot.html",
      "title": "Using ternable object to draw ternary plots",
      "engine": "knitr::rmarkdown",
      "headings": [
        "ternable object",
        "ternable helpers - get_tern_*()",
        "Drawing a 2D ternary plot",
        "Drawing a high-dimensional ternary plot"
      ],
      "created": "2025-12-31 06:55:51",
      "modified": "2026-04-21 03:00:35",
      "commits": 13
    }
  ],
  "_score": 5.7558748556724915,
  "_indexed": true,
  "_nocasepkg": "prefviz",
  "_universes": [
    "numbats"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T10:41:25.000Z",
      "distro": "noble",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "daf3c3c8f44bfc65f26b89d60adbf69dac29de7c37d7db4a539b38185e3fde44",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-31T10:41:33.000Z",
      "distro": "noble",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "a0a3d90d81163c49d73e5702e39135a190d1e983e4afb003d966075a5304b12e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T10:41:06.000Z",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "356c57d633a03e9cfcf1bbcbfa187b87dc011beaa366a71c7185900526328745",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-31T10:40:59.000Z",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "2bf75b69eb9d0184e28f119193ebe9a50c24656e0e68f107e79b02c340766e5b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-05-31T10:41:25.000Z",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "6d1d9e44c013257f8850c6f9fdd2a94ee44a74f70bf2d6c8ba2b043b91df0b93",
      "status": "success",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T10:40:21.000Z",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "d8d94383e40734b48c71d5922411c848e1b419c877fc486b76dccded575cabca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T10:40:24.000Z",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "801b2c6da6641d17016346a8b01965f31d0d70519ca0a806f1460c9d045ca6d1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-31T10:40:17.000Z",
      "commit": "437b264a890772f74aaf45164a2e0720e57cdac5",
      "fileid": "a490e6a17c897b897aa11a90ce4c72d3ab7a7f6dad946889f27a884fbb50d233",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/numbats/actions/runs/26710257662"
    }
  ]
}