NEWS
weird 3.1.0.9000
- New data sets
us_mortality (US weekly deaths and death rates, 2015--2025) and fashion (Fashion-MNIST sneakers with planted images of other classes).
- New
fetch_pets2006() function to download frames from the PETS2006 video.
- New
fetch_oz_books() function to download the text of 29 Oz books by L. Frank Baum and Ruth Plumly Thompson.
- New data set
road_deaths, giving every road crash death in Australia from 1989 to 2025.
- New data sets
us_senate_edges and us_senate_members, giving the US Senate co-voting networks from the 40th to the 113th Congress, with the name, state, party and ICPSR identifier of each senator.
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 (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 (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 (2026-05-05)
- Added
surprisals() and surprisals_prob() for glm objects
- Faster calculation of
surprisals_prob() for lm and gam objects
- More accurate rank-based surprisal calculation when ties and missings present
- More accurate HDR calculations
- Added covariance calculation for multivariate
dist_kde objects
- Added
distributional::hdr() and distributional::parameters() methods for dist_kde objects
- Faster calculation for
kde_bandwidth() with method = "lookout", now using mlpack for merge distances
mvscale() re-added to weird
- Dropped lookout package dependency
- Added lots of unit tests
- Better docs
- Bug fixes
weird 2.0.0 (2026-01-27)
- Added
fr_mortality data set
- Updated
oldfaithful and cricket_batting data sets
- Refactored package to use distributional objects
- Added
dist_kde() and dist_density()
- Removed
as_kde() and autoplot.kde()
- Rewrote
kde_bandwidth() to handle more methods
- Added
gg_density() and gg_density_layer()
- Replaced
density_scores() with surprisals() and added surprisals_prob()
- Updated
gg_bagplot() and gg_hdrboxplot() to use show_points argument
- Removed
lookout()
- Added
hampel_anomalies()
mvscale() moved to lookout package
- Dropped
interpolation dependency
- No longer exporting
weird_packages() and weird_conflicts()
weird 1.0.2 (2024-01-24)
- Removed
wine_reviews dataset and created fetch_wine_reviews() function.
- Bug fixes.
weird 1.0.0 (2024-01-12)