The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Convenience helpers for the Small-Area Global Elections (SAGE) archive.
sage lets you pull a (country, years, columns) slice
without ever reading the giant per-country RDS files. Under the hood it
queries the partitioned Parquet release through Apache Arrow.
# install.packages("remotes")
remotes::install_github("noahdasanaike/sage", subdir = "sage_R")library(sage)
# Point to the public release (or any Arrow-readable URI)
sage_set_source("https://storage.googleapis.com/sage-archive/parquet")
# or, on the original machine:
# sage_set_source("J:/Output_c_parquet")
# What's available?
sage_countries() # 131 country names
sage_years("Germany") # c(1998, 2002, 2005, 2009, 2013, 2017, 2021)
sage_columns() # all release columns
# Pull a slice
de_2021 <- sage_load(
"Germany",
years = 2021,
columns = c("party", "votes", "NAME3", "NAME5")
)
# All Italian presidential rows where the Party Facts match is high or medium:
it_pres <- sage_load(
"Italy",
election_type = "Presidential",
min_match_confidence = "medium"
)sage_load returns a tibble. The Parquet partitioning is
on country + year, so the most common
subsetting (one country, one or a few years) is a single partition read
and returns in seconds.
The package ships a 26 KB excerpt of the archive (Iceland and Samoa) so the interface can be exercised offline; every example in the help pages runs against it.
sage_set_source(system.file("extdata", "mini_archive", package = "sage"))
sage_countries() # "Iceland" "Samoa"A local copy should include the _index.csv manifest that
sits at the root of the release. Without it the package falls back to
opening the tree as a single Arrow dataset, whose schema comes from one
fragment, so columns that only some countries carry
(candidate, NAME4, …) would be dropped.
devtools::document() # regenerate man/ and NAMESPACE from the roxygen blocks
devtools::test() # offline tests always; live-archive tests when reachable
devtools::check()These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.