n2kanalysis
n2kanalysis has spent eight years wiring INLA models to an S3 bucket.
A side-by-side editorial comparison of mapSpain and socialmixr — release velocity, themes, recent moves, and the top alternatives to consider.
mapSpain's 1.0.0 broke every user cache to get the package onto modern foundations.
mapSpain provides administrative boundaries, tile providers and geographic dictionaries for Spain, pulling from GISCO, SIANE, INE and IGN sources. The 1.0.0 release in January 2026 rebuilt it: requests moved to httr2, the cache reorganized into topic-based subfolders under tools::R_user_dir() instead of rappdirs, R 4.1 became the floor, and every function now returns tidy objects. Existing caches are explicitly incompatible and must be rebuilt.
socialmixr breaks its one-shot contact_matrix() call into a composable pipeline.
socialmixr builds age-structured social contact matrices from survey data for infectious-disease modelling. Version 0.6.0 replaces the monolithic contact_matrix() entry point with a chain of composable steps — filter, assign age groups, weigh, compute, then symmetrise, split or convert per capita — behind a new contact_matrix S3 class. Survey downloading is being handed off to a separate contactsurveys package.
mapSpain provides administrative boundaries, tile providers and geographic dictionaries for Spain, pulling from GISCO, SIANE, INE and IGN sources. The 1.0.0 release in January 2026 rebuilt it: requests moved to httr2, the cache reorganized into topic-based subfolders under tools::R_user_dir() instead of rappdirs, R 4.1 became the floor, and every function now returns tidy objects. Existing caches are explicitly incompatible and must be rebuilt.
The package has finished its modernization and moved into consolidation. 1.1.0 added a configurable query timeout and pinned httr2 for compatibility with giscoR, the sibling package it shares plumbing with; 1.2.0 was a declared internal-only refactor with the public API held fixed and the work described as AI-assisted with human review. The data-source expansion that characterized the 0.9.x and 0.10.x line — comarcas by type, simplified INE geometries, SIANE vintages — has paused while the foundations settle.
Expect a return to source coverage now that the refactor is done: new SIANE or INE vintages and additional boundary types are the pattern this package has repeated. The entries show no further architectural work queued.
socialmixr builds age-structured social contact matrices from survey data for infectious-disease modelling. Version 0.6.0 replaces the monolithic contact_matrix() entry point with a chain of composable steps — filter, assign age groups, weigh, compute, then symmetrise, split or convert per capita — behind a new contact_matrix S3 class. Survey downloading is being handed off to a separate contactsurveys package.
The arc from 0.4.0 to 0.6.0 is decomposition: first extracting helpers like assign_age_groups(), then moving downloads out of the package, and now exposing every stage of matrix construction as its own verb. Breaking changes are accepted at each step — preserved empty age groups, arrays instead of xtabs, [N,Inf) labels — with the new class inheriting from list so existing $matrix access keeps working. The label change is explicitly aligned with the contactmatrix package.
Expect the deprecated dotted argument names and the remaining in-package download paths to be removed once the contactsurveys handoff completes, leaving contact_matrix() as a thin wrapper over the pipeline.
Other Analytics 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 mapSpain or socialmixr.
n2kanalysis has spent eight years wiring INLA models to an S3 bucket.
A Fortran-descended optimizer got thread-safe, then found two flags that never worked.
ggstatsplot reached 1.0 by adding tests, having outsourced its statistics years ago.
collapse got a JSS paper and a 7x fmean speedup in the same release.
gtsummary is quietly rebuilding itself around analysis results data, one table verb at a time.
broadcast is filling in NumPy-style array broadcasting for R, operator by operator.
See all mapSpain alternatives → · See all socialmixr alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. mapSpain and socialmixr 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.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. mapSpain and socialmixr 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 Analytics products to evaluate alongside.
Top mapSpain alternatives in Analytics are ranked by recent ship velocity. Browse the "mapSpain alternatives" section above for the current picks, or visit /alternatives/mapspain for the full list with editorial commentary on each.
Top socialmixr alternatives in Analytics are ranked by recent ship velocity. Browse the "socialmixr alternatives" section above for the current picks, or visit /alternatives/socialmixr for the full list with editorial commentary on each.