← Back to home
Comparison · Infra & APIs

ggfootball vs ncmR

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

ggfootball vs ncmR: at a glance

FeatureggfootballncmR
SectorInfra & APIsInfra & APIs
Velocity score0.00.0
Sparks · 30d00
Top themessports-analytics, r-package, data-scraping, expected-goalsmicrobiome, ecology, neutral-community-model, shiny
Last editorial update47m ago1h 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 ncmR?

Three weeks from first CRAN submission to a point-and-click neutral community model

ncmR fits the neutral community model to microbiome and ecological abundance data. The whole feed is three weeks long: fit_ncm() and summary methods at 0.1.0 on 1 April, a scatter plot with fitted curve and confidence interval at 0.2.0, then a Shiny application wrapping both at 0.3.0, then a row-name bugfix. It is a new package moving fast in its first month.

Read the full ncmR trajectory →

ggfootball vs ncmR: 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.

N
ncmR
INFRA · APIS
0.0

Three weeks from first CRAN submission to a point-and-click neutral community model

◆ Current state

ncmR fits the neutral community model to microbiome and ecological abundance data. The whole feed is three weeks long: fit_ncm() and summary methods at 0.1.0 on 1 April, a scatter plot with fitted curve and confidence interval at 0.2.0, then a Shiny application wrapping both at 0.3.0, then a row-name bugfix. It is a new package moving fast in its first month.

◆ Where it's heading

The direction is toward users who do not write R. Version 0.2.0 added plotting, 0.3.0 wrapped fitting and plotting in Shiny modules, and the same release deleted the Unicode plotting helpers introduced one version earlier because the dependency they existed for was removed. That willingness to throw away a week-old API suggests the surface is still being negotiated rather than settled.

◆ Prediction

With a fitting module and a plotting module in the app, the remaining gap is getting results back out — export of fitted parameters or figures from the Shiny session. The bugfix at 0.3.1 was in file upload, which is where a GUI's problems usually start.

Alternatives to ggfootball and ncmR

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 ncmR.

See all ggfootball alternatives → · See all ncmR alternatives →

Recent activity from ggfootball and ncmR

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

  1. 4mo agoncmRRow names preserved during file upload conversion
  2. 4mo agoncmRA Shiny app for fitting and plotting neutral community models
  3. 4mo agoncmRScatter plot with fitted curve and confidence interval
  4. 4mo agoncmRFirst CRAN submission: neutral community model fitting in R
  5. 6mo agoggfootballggfootball 0.3.0
  6. 6mo agoggfootballggfootball 0.2.2
  7. 1y agoggfootballggfootball 0.2.1
  8. 1y agoggfootballggfootball 0.2.0

Frequently asked questions

What is the difference between ggfootball and ncmR?

They serve adjacent needs but don't currently overlap on shipped themes. ggfootball and ncmR 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 ncmR?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. ggfootball and ncmR 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 ncmR?

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