• scrape_wahlrecht() now locates the poll rows by content (the first row whose date column holds a date) instead of skipping a fixed, per-URL number of rows. wahlrecht places <tfoot> before <tbody>, so the footer rows land above the data and the offset changes whenever that markup does: the Politbarometer header cell became a <th>, html_table() promoted the header, every body row shifted up by one, and the scraper read the party legend as column names and aborted on the duplicates — which also took down get_surveys() (#146).

  • scrape_wahlrecht() also locates the header row by content, so it no longer depends on whether html_table() promoted it. The Politbarometer page used to carry a stray <td> that kept the header inside <tbody> (special-cased by URL) and uses <th> today; both layouts now parse without a per-page branch.

  • scrape_wahlrecht() now fails with a clear message when a page yields no poll rows or no recognisable party columns, instead of continuing on unusable input and silently discarding every poll via the total == 100 filter.

  • scrape_wahlrecht() no longer warns Unknown or uninitialised column: 'Sonstige' on pages that do not report a combined “Sonstige” figure.

  • Repository moved to the KOALA-LMU organization: https://github.com/KOALA-LMU/coalitions ; documentation now at https://koala-lmu.github.io/coalitions/ (old URLs redirect, except the pkgdown site)

  • dHondt() and sls() now return a ties attribute (TRUE/FALSE) indicating whether the seat distribution is non-unique due to tied quotients at the last seat. When ties = TRUE, the result was resolved randomly and re-running may yield a different but equally valid distribution (see issue #131).
  • Added \value tag to pipe.Rd
  • Replaced remaining \dontrun{} with \donttest{} in get_surveys() and scrape_ltw() examples
  • Removed commented-out code from get_surveys() example
  • Added \value documentation to all functions missing return value descriptions
  • Updated inst/CITATION to use bibentry() / c(person()) (replacing deprecated citEntry() / personList())
  • Fixed scrape_wahlrecht() example to not use internal ::: accessor
  • Replaced \dontrun{} with \donttest{} in examples requiring internet access
  • Fixed redirected and broken URLs in README

Minor test fix

Added/fixed scrappers for German state elections

  • fixes CRAN errors (due to change in data structure at wahlrecht.de)
  • fix CRAN errors
  • fixes error introduced by dependencies (see #132)
  • fixed a Bug in dHondt function (see #130)
  • fixed scrapper for austrian general election #110
  • added more federal election scrappers #113
  • documentation updates
  • Fixed scrapper for federal German “Hessen” election
  • Fixed tests
  • Add scrapers for federal German “Hessen” election
  • Update HP with new pkgdown version
  • Added reference to Description and examples to functions as per CRAN request
  • Added federal Bavarian election scrapers
  • Major overhaul
  • More robust functions, more tests
  • Most functions comply with tidyverse
  • Improved documentation, added vignettes, created homepage (via pkgdown)