New Horizons for TidyDensity: Version 1.3.0 Release

code
tidydensity
Author

Steven P. Sanderson II, MPH

Published

January 9, 2024

Introduction

The latest release of the TidyDensity R package brings some major changes and improvements that open up new possibilities for statistical analysis and data visualization. Version 1.3.0 includes breaking changes, new features, and a host of minor fixes and improvements that enhance performance and usability. Let’s dive into what’s new!

Breaking Changes

Two key functions have been modified in this release:

  • tidy_multi_single_dist() now requires passing the .return_tibble parameter to specify whether to return a tibble (TRUE) or a list (FALSE). This allows better control over the output.
  • The minimum R version has been bumped to 4.1.0 to leverage the native pipe operator |> instead of %>%.

New Features

Several new functions expand the capabilities of TidyDensity:

  • tidy_triangular() generates a tidy dataframe of points from a triangular distribution.
  • util_triangular_param_estimate() estimates the parameters of a triangular distribution.
  • util_triangular_stats_tbl() computes summary statistics for a triangular distribution.
  • triangle_plot() creates a triangular density plot.
  • tidy_autoplot() now supports triangular distributions.

Performance Improvements

Many functions have been optimized for speed:

  • cvar() and csd() are now vectorized for over 100x speedup.
  • Using data.table in the tidy_ functions typically improves speed by 30% or more.
  • Other vectorized improvements speed up cskewness() by 124x and ckurtosis() by 121x.

The minor fixes address deprecation warnings, documentation, and ensure consistency across functions.

Version 1.3.0 takes TidyDensity to the next level with expanded capabilities and boosted performance. Whether you need to model triangular distributions or crunch large datasets, this release has you covered. The pipe workflow makes analyses simpler and faster. Check out the full details in the GitHub repository. Let us know if you have any issues or feature requests!