RMVMR
RMVMR is being tidied in lockstep with MVMR, the package it wraps
A side-by-side editorial comparison of socialmixr and spatstat.geom — release velocity, themes, recent moves, and the top alternatives to consider.
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.
The geometry layer under spatstat, steadily absorbing 3D patterns and missing-data semantics
spatstat.geom holds the spatial data structures and geometric operations the rest of the spatstat family builds on — windows, tessellations, images, point patterns and the operations that move between them. Recent releases split their attention between extending those structures to three dimensions and hardening the discretisation code where polygonal geometry meets a pixel grid. 3.8-2 adds more capabilities for three-dimensional point patterns.
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.
spatstat.geom holds the spatial data structures and geometric operations the rest of the spatstat family builds on — windows, tessellations, images, point patterns and the operations that move between them. Recent releases split their attention between extending those structures to three dimensions and hardening the discretisation code where polygonal geometry meets a pixel grid. 3.8-2 adds more capabilities for three-dimensional point patterns.
Two threads run through this window. The first is a family-wide push into 3D that originated in the simulation package and has now reached the geometry layer. The second is a slower semantic change: 3.5-0 introduced missing or unavailable (NA) spatial objects, and 3.6-0 followed with more facilities for handling them, meaning an absent window or image became a representable value rather than an error. Around both, the plotting and discretisation code accretes steadily — nonlinear colour maps, plot backgrounds, transparency control, signed distance transforms, and repeated attention to boundary pixels.
Expect the 3D surface here to keep filling in behind the simulation package rather than leading it, given that 3.8-2 follows the 3D simulation release by two months. The entries give no indication that the NA work is finished, since it has already spanned two releases.
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 socialmixr or spatstat.geom.
RMVMR is being tidied in lockstep with MVMR, the package it wraps
geoarrow tracks the GeoArrow spec and otherwise just keeps compiling
n2khab keeps retracting interpretations of habitat data it can't actually support
tidypolars is grinding toward complete dplyr coverage, one supported function at a time
OneSampleMR found that argument order in a formula was silently changing its estimates
bpbounds found the same swapped-cell bug twice and clamped its bounds back into range
See all socialmixr alternatives → · See all spatstat.geom alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. spatstat.geom is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. 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. spatstat.geom is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
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.
Top spatstat.geom alternatives in Analytics are ranked by recent ship velocity. Browse the "spatstat.geom alternatives" section above for the current picks, or visit /alternatives/spatstat-geom for the full list with editorial commentary on each.