Skip to contents

weird (development version)

  • kde_bandwidth(method = "lookout") no longer crashes R when the data contain points that differ only by floating-point error (e.g. PCA scores of identical observations); mlpack::emst() could overflow the C stack on such near-duplicates.
  • lof_scores() and glosh_scores() now use k nearest neighbours excluding the observation itself. Previously the observation itself was also included.
  • lof_scores() no longer replaces infinite values by 1.

weird 3.1.0

CRAN release: 2026-09-07

  • dist_kde() HDR calculations now always use the density at the data points (previously this required at least 200 observations), following hdrcde.
  • dist_density() removed in favour of distributional::dist_density().
  • gg_density() now labels the axis with the variable name when plotting a dist_kde object, if available.
  • hdr_regions() added, showing which highest density region each observation falls in, for one or more coverage probabilities, from a univariate or bivariate dist_kde object.
  • kde_bandwidth() gains method = "scv", a smoothed cross-validation bandwidth estimator using ks::hscv()/ks::Hscv().
  • hampel_anomalies() gains alpha and approximation arguments, allowing anomalies to be declared using a significance level rather than a fixed number of standard deviations.

weird 3.0.0

CRAN release: 2026-07-06

  • Moved the Old Faithful Geyser examples from the README into a new vignette, vignette("old-faithful").
  • augment() method added for rrcov Pca* objects, returning the principal component scores, score distances and orthogonal distances, optionally alongside the original data.
  • dist_mclust() added to convert a Gaussian mixture model (Mclust object) to a distributional object.
  • density_df() added, converting a distributional object to a data frame containing density values over a grid, suitable for plotting.
  • biplot_projection() added, drawing a two-dimensional projection of scores with the original variable axes overlaid as arrows.
  • outlier_map() added, drawing the score distance against the orthogonal distance for a prcomp or rrcov Pca* object, with optional cutoff thresholds classifying observations as regular, good leverage points, orthogonal outliers or bad leverage points.
  • Added fetch_air_quality() to download Beijing air quality data from 12 monitoring stations (2013-2017).
  • Added gun_deaths dataset containing firearm homicide rates and gun ownership by country for 2017.
  • wine_reviews columns have been reordered.
  • gg_density_layer() removed,
  • lof_scores() now returns 1 (instead of 0) when there are too many duplicates.
  • mvscale() now better handles missing and infinite values, and returns centering and scaling terms as attributes.
  • dist_kde() is now robust to missing values.
  • Removed several dependencies
  • Bug fixes and documentation improvements

weird 2.1.0

CRAN release: 2026-05-05

weird 2.0.0

CRAN release: 2026-01-27

weird 1.0.2

CRAN release: 2024-01-24

weird 1.0.0

CRAN release: 2024-01-12

  • Initial CRAN submission.