← Back to home
Comparison · Infra & APIs

ggfootball vs surveytidy

A side-by-side editorial comparison of ggfootball and surveytidy — release velocity, themes, recent moves, and the top alternatives to consider.

ggfootball vs surveytidy: at a glance

Featureggfootballsurveytidy
SectorInfra & APIsInfra & APIs
Velocity score0.00.0
Sparks · 30d00
Top themessports-analytics, r-package, data-scraping, expected-goalssurvey-statistics, tidyverse, dplyr-verbs, metadata-tracking
Last editorial update1h ago3h ago
WebsiteVisit →Visit →

What is ggfootball?

A football-viz package just swapped scraping for an API and broke its own output to do it.

ggfootball is a small R package for plotting expected-goals and shot data, sourced from Understat. Four releases are visible. The 0.2.x line was argument tidying and dependency pruning; 0.3.0 replaced the data-acquisition layer wholesale, moving get_match_shots() from HTML parsing onto Understat's AJAX endpoints and changing the returned column names in the process.

Read the full ggfootball trajectory →

What is surveytidy?

surveytidy taught every dplyr verb to operate on a whole collection of surveys at once.

surveytidy is the tidyverse-facing half of a two-package survey stack, wrapping survey design objects from surveycore so filter, mutate, select and the rest work on them while carrying variable labels, value labels and a transformation log alongside the data. The May release extended that verb surface to survey_collection, the abstraction surveycore uses to hold several surveys as one object, so a pipeline written once dispatches across every member.

Read the full surveytidy trajectory →

ggfootball vs surveytidy: editorial side-by-side

G
ggfootball
INFRA · APIS
0.0

A football-viz package just swapped scraping for an API and broke its own output to do it.

◆ Current state

ggfootball is a small R package for plotting expected-goals and shot data, sourced from Understat. Four releases are visible. The 0.2.x line was argument tidying and dependency pruning; 0.3.0 replaced the data-acquisition layer wholesale, moving get_match_shots() from HTML parsing onto Understat's AJAX endpoints and changing the returned column names in the process.

◆ Where it's heading

The direction is away from scraped HTML and toward a thinner, more defensible package: four dependencies dropped in 0.3.0 on top of qdapRegex in 0.2.1, input validation added, error messages rewritten. Both breaking changes so far were accepted rather than deferred, which reads as a maintainer treating pre-1.0 as the window to get the shape right. The package is willing to break callers for structural reasons, not cosmetic ones.

◆ Prediction

With the scraper rebuilt and the dependency surface trimmed, the next releases are likely to stabilise the new column names and extend the plotting side, which has seen nothing since 0.2.0. A 1.0 would be the signal that the data structure is now considered fixed.

S
surveytidy
INFRA · APIS
0.0

surveytidy taught every dplyr verb to operate on a whole collection of surveys at once.

◆ Current state

surveytidy is the tidyverse-facing half of a two-package survey stack, wrapping survey design objects from surveycore so filter, mutate, select and the rest work on them while carrying variable labels, value labels and a transformation log alongside the data. The May release extended that verb surface to survey_collection, the abstraction surveycore uses to hold several surveys as one object, so a pipeline written once dispatches across every member.

◆ Where it's heading

The package is being built in two layers that arrive in order: vector-level transformations first, structural dispatch second. The make_* family in 0.4.0 handles the recoding that survey work actually consists of — labelled to factor, multi-level to dichotomous, scale reversal, valence flipping — with value labels propagating automatically. Collection support then applies data-masking, tidyselect, grouping, slicing and collapsing verbs per survey, with joins explicitly refused and a typed message reporting which surveys were skipped. Metadata fidelity is the recurring bug source: labels surviving across(), stale labels left behind by recoding, the transformation log keeping up with what the verbs did.

◆ Prediction

Joins are the one verb family that errors on collections, with users directed to join before constructing the collection, so that restriction is the clearest outstanding gap. The re-export of surveycore's collection constructors suggests the package is positioning itself as the single import users need, which points toward more re-exports as surveycore's stable API settles.

Alternatives to ggfootball and surveytidy

Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either ggfootball or surveytidy.

See all ggfootball alternatives → · See all surveytidy alternatives →

Recent activity from ggfootball and surveytidy

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 2mo agosurveytidymutate() syncs metadata for across() recodes
  2. 3mo agosurveytidydplyr and tidyr verbs dispatch across survey collections
  3. 5mo agosurveytidyFive label-aware recoding functions for use inside mutate()
  4. 6mo agoggfootballggfootball 0.3.0
  5. 6mo agoggfootballggfootball 0.2.2
  6. 1y agoggfootballggfootball 0.2.1
  7. 1y agoggfootballggfootball 0.2.0

Frequently asked questions

What is the difference between ggfootball and surveytidy?

They serve adjacent needs but don't currently overlap on shipped themes. ggfootball and surveytidy are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is ggfootball better than surveytidy?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. ggfootball and surveytidy are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.

What are the best alternatives to ggfootball?

Top ggfootball alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "ggfootball alternatives" section above for the current picks, or visit /alternatives/ggfootball for the full list with editorial commentary on each.

What are the best alternatives to surveytidy?

Top surveytidy alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "surveytidy alternatives" section above for the current picks, or visit /alternatives/surveytidy for the full list with editorial commentary on each.