ncmR
Three weeks from first CRAN submission to a point-and-click neutral community model
A side-by-side editorial comparison of afcharts and surveytidy — release velocity, themes, recent moves, and the top alternatives to consider.
UK government chart styling in ggplot2, chasing ggplot2 v4 and stretching its palette to five.
afcharts supplies the UK Analysis Function's chart styling for ggplot2, as a theme, colour and fill scales, and a use_afcharts() call that applies the styling globally. Version 0.5.1 extends the sequential palette to five shades so it can carry quintile data such as deprivation bands, renames the na_colour argument to na.value, and adds a reset argument to switch the styling back off. The package began as a first release derived from sgplot and has had three releases in roughly two years.
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.
afcharts supplies the UK Analysis Function's chart styling for ggplot2, as a theme, colour and fill scales, and a use_afcharts() call that applies the styling globally. Version 0.5.1 extends the sequential palette to five shades so it can carry quintile data such as deprivation bands, renames the na_colour argument to na.value, and adds a reset argument to switch the styling back off. The package began as a first release derived from sgplot and has had three releases in roughly two years.
The work splits between palette design and keeping the styling composable. On the design side the sequential palette growing to five shades is driven by a specific reporting need rather than aesthetics, since quintiles are a standard unit in UK official statistics. On the mechanical side, the na.value rename was forced by ggplot2 v4.0.1, theme_af() now respects options set by an earlier use_afcharts() call, and a reset argument acknowledges that global styling needs an off switch. These are the problems a styling package hits once people use it inside larger documents.
Expect continued adjustment to ggplot2 v4, since the na.value rename is unlikely to be the only argument affected, and further palette work driven by the reporting formats government analysts actually publish. As a sibling to aftables in the same Analysis Function family, it is likely to keep tracking that guidance rather than setting its own direction.
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.
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.
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.
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 afcharts or surveytidy.
Three weeks from first CRAN submission to a point-and-click neutral community model
An R prompting framework hands its provider plumbing to ellmer and inherits MCP tools
A statistics backend whose release history is mostly other people's weather
Wearable light-exposure data gets circular time and versioned device formats
One analyst's toolbox, still shipping: Meta MMM tooling beside Wordle solvers
A seroincidence engine grows up: whole API renamed, then clustered survey designs
See all afcharts alternatives → · See all surveytidy alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. afcharts 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.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. afcharts 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.
Top afcharts alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "afcharts alternatives" section above for the current picks, or visit /alternatives/afcharts for the full list with editorial commentary on each.
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.