← Back to home
Comparison · Analytics

socialmixr vs tidypolars

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

socialmixr vs tidypolars: at a glance

Featuresocialmixrtidypolars
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themescontact matrices, epidemiology, pipeline api, breaking changespolars, r, dplyr, dataframes
Last editorial update2h ago1h ago
WebsiteVisit →Visit →

What is socialmixr?

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.

Read the full socialmixr trajectory →

What is tidypolars?

tidypolars is grinding toward complete dplyr coverage, one supported function at a time

tidypolars lets you write dplyr and tidyr syntax against Polars DataFrames and LazyFrames. Its releases follow a fixed shape: raise the required polars version, add a handful of newly supported R functions and arguments, fix places where behaviour diverges from dplyr. Recent additions run from %notin% and as.integer() to .before/.after in mutate() and time zone handling in datetime parsing. Cadence is roughly every six to ten weeks and has not varied.

Read the full tidypolars trajectory →

socialmixr vs tidypolars: editorial side-by-side

S
socialmixr
ANALYTICS
0.0

socialmixr breaks its one-shot contact_matrix() call into a composable pipeline.

◆ Current state

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.

◆ Where it's heading

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.

◆ Prediction

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.

T
tidypolars
ANALYTICS
0.0

tidypolars is grinding toward complete dplyr coverage, one supported function at a time

◆ Current state

tidypolars lets you write dplyr and tidyr syntax against Polars DataFrames and LazyFrames. Its releases follow a fixed shape: raise the required polars version, add a handful of newly supported R functions and arguments, fix places where behaviour diverges from dplyr. Recent additions run from %notin% and as.integer() to .before/.after in mutate() and time zone handling in datetime parsing. Cadence is roughly every six to ten weeks and has not varied.

◆ Where it's heading

Coverage is the whole strategy, and the target has been widening from dplyr into tidyr — unnest_longer_polars(), separate_longer_delim_polars() and separate_longer_position_polars() bring list-column and string-splitting verbs that have no Polars-idiomatic equivalent in the tidyverse dialect. The other consistent thread is fidelity: distinct() dropping unselected columns, summarize() dropping the last group, relocate() honouring tidy-select helpers, NULL in mutate() behaving as dplyr does. Each of these is a small breaking change made to match the reference rather than to differ from it.

◆ Prediction

The pattern of tracking the polars floor upward every release and following tidyverse changes closely — .by in fill() arrived when tidyr 1.3.2 shipped it — suggests the next releases continue mirroring new dplyr and tidyr arguments rather than adding a distinct capability.

Alternatives to socialmixr and tidypolars

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

See all socialmixr alternatives → · See all tidypolars alternatives →

Recent activity from socialmixr and tidypolars

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

  1. 1mo agotidypolarstidypolars 0.19.0
  2. 3mo agosocialmixrContact matrices become a composable pipeline
  3. 4mo agotidypolarstidypolars 0.18.0
  4. 6mo agotidypolarstidypolars 0.17.0
  5. 6mo agosocialmixrPatch: load_survey() handles files without cont_id
  6. 6mo agotidypolarstidypolars 0.16.0
  7. 6mo agosocialmixrAge-group assignment and population lookup split out
  8. 9mo agotidypolarstidypolars 0.15.1
  9. 9mo agotidypolarstidypolars 0.15.0
  10. 1y agosocialmixrFaster survey loading and cached Zenodo lookups
  11. 2y agosocialmixrcontact_matrix() now takes survey objects only
  12. 2y agosocialmixrTest fixes for machine-precision failures

Frequently asked questions

What is the difference between socialmixr and tidypolars?

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

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

What are the best alternatives to socialmixr?

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.

What are the best alternatives to tidypolars?

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