Bandwidth estimators for densities, used in the bandwidth argument
to density functions (e.g. density_bounded(), density_unbounded()).
Supports automatic partial function application with waived arguments.
bandwidth_nrd0(x, ...)
bandwidth_nrd(x, ...)
bandwidth_ucv(x, ...)
bandwidth_bcv(x, ...)
bandwidth_SJ(x, ...)
bandwidth_dpi(x, ...)<numeric> Vector containing a sample.
Arguments passed on to stats::bw.SJ
nbnumber of bins to use.
lower,upperrange over which to minimize. The default is
almost always satisfactory. hmax is calculated internally
from a normal reference bandwidth.
methodeither "ste" ("solve-the-equation") or
"dpi" ("direct plug-in"). Can be abbreviated.
tolfor method "ste", the convergence tolerance for
uniroot. The default leads to bandwidth estimates
with only slightly more than one digit accuracy, which is sufficient
for practical density estimation, but possibly not for theoretical
simulation studies.
A single number giving the bandwidth
These are loose wrappers around the corresponding bw.-prefixed functions
in stats. See, for example, bw.SJ().
bandwidth_dpi(), which is the default bandwidth estimator in ggdist,
is the Sheather-Jones direct plug-in estimator, i.e. bw.SJ(..., method = "dpi").
With the exception of bandwidth_nrd0(), these estimators may fail in some
cases, often when a sample contains many duplicates. If they do they will
automatically fall back to bandwidth_nrd0() with a warning. However, these
failures are typically symptomatic of situations where you should not want to
use a kernel density estimator in the first place (e.g. data with duplicates
and/or discrete data). In these cases consider using a dotplot (geom_dots())
or histogram (density_histogram()) instead.