Learn R Programming

smashr: smoothing using Adaptive Shrinkage in R

This R package implements fast, wavelet-based Empirical Bayes shrinkage methods for signal denoising. This includes smoothing Poisson-distributed data and Gaussian-distributed data, with possibly heteroskedastic error. The algorithms implement the methods described in Xing, Carbonetto & Stephens (2021).

If you find a bug, please post an issue.

License

Copyright (c) 2016-2021, Zhengrong Xing, Peter Carbonetto and Matthew Stephens.

All source code and software in this repository is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

Citing this work

If you find that this R package useful for your work, please cite our paper:

Zhengrong Xing, Peter Carbonetto and Matthew Stephens (2021). Flexible signal denoising via flexible empirical Bayes shrinkage. Journal of Machine Learning Research 22(93), 1-28.

Quick Start

Follow these steps to quickly get started using smashr.

  1. In R, install the latest version of smashr using devtools:

    install.packages("devtools")
    library(devtools)
    install_github("stephenslab/smashr")

    If you are interested in replicating results from the paper, we recommendg installing smashr 1.2-7:

    install_github("stephenslab/smashr@v1.2-7")

    This will build the smashr package without the vignettes. To build with the vignettes, do this instead:

    install_github("stephenslab/smashr",build_vignettes = TRUE)

    We caution that some of the simulation examples may take a long time to run (20--30 minutes, or possibly longer). Also note that the install_github call should also install any missing packages that are required for smashr to work.

  2. Load the smashr package, and run the smashr demo:

    library(smashr)
    demo("smashr")
  3. To learn more, see the smashr package help and the smashr vignette (which you can also view here):

    help(package = "smashr")
    vignette("smashr")

Credits

This R package was developed by Zhengrong Xing and Matthew Stephens at the University of Chicago, with contributions from Peter Carbonetto.

Copy Link

Version

Install

install.packages('smashr')

Version

1.3-12

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Peter Carbonetto

Last Published

December 15th, 2025

Functions in smashr (1.3-12)

smash.poiss

Estimate the underlying intensity for Poisson counts.
treas

Three-month treasury bill data.
smashr

smashr: Smoothing using Adaptive SHrinkage in R
ti.thresh

TI thresholding with heteroskedastic errors.
reverse.pwave

Reverse wavelet transform a set of probabilities in TItable format for Poisson data.
sd_estimate_gasser_etal

Estimate homoskedastic standard deviation from nonparamatric regression.
reflect

Reflect and extend a vector.
glm.approx

Model fitting using weighted least squares or a GLM approach.
smash

Estimate the underlying mean or intensity function from Gaussian or Poisson data, respectively.
smash.gaus

Estimate underlying mean function from noisy Gaussian data.