Learn R Programming

distr6 (version 1.1.0)

Empirical: Empirical Distribution Class

Description

Mathematical and statistical functions for the Empirical distribution, which is commonly used in sampling such as MCMC.

Value

Returns an R6 object inheriting from class SDistribution.

Constructor

Empirical$new(samples, decorators = NULL, verbose = FALSE)

Constructor Arguments

Argument Type Details
samples numeric vector of observed samples.

decorators Decorator decorators to add functionality. See details.

Constructor Details

The Empirical distribution is parameterised with a vector of elements for the support set.

Public Variables

Variable Return
name Name of distribution.
short_name Id of distribution.
description Brief description of distribution.

Public Methods

Accessor Methods Link
decorators() decorators
traits() traits
valueSupport() valueSupport
variateForm() variateForm
type() type
properties() properties
support() support
symmetry() symmetry
sup() sup
inf() inf
dmax() dmax
dmin() dmin
skewnessType() skewnessType
kurtosisType() kurtosisType

Statistical Methods

Link
pdf(x1, ..., log = FALSE, simplify = TRUE) pdf
cdf(x1, ..., lower.tail = TRUE, log.p = FALSE, simplify = TRUE) cdf
quantile(p, ..., lower.tail = TRUE, log.p = FALSE, simplify = TRUE) quantile.Distribution
rand(n, simplify = TRUE) rand
mean() mean.Distribution
variance() variance
stdev() stdev
prec() prec
cor() cor
skewness() skewness
kurtosis(excess = TRUE) kurtosis
entropy(base = 2) entropy
mgf(t) mgf
cf(t) cf
pgf(z) pgf
median() median.Distribution
iqr() iqr

Parameter Methods

Link
parameters(id) parameters
getParameterValue(id, error = "warn") getParameterValue
setParameterValue(..., lst = NULL, error = "warn") setParameterValue

Validation Methods

Link
liesInSupport(x, all = TRUE, bound = FALSE) liesInSupport
liesInType(x, all = TRUE, bound = FALSE) liesInType

Representation Methods

Link
strprint(n = 2) strprint
print(n = 2) print
summary(full = T) summary.Distribution
plot() Coming Soon.
qqplot() Coming Soon.

Details

The Empirical distribution is defined by the pmf, $$p(x) = \sum I(x = x_i) / k$$ for \(x_i \epsilon R, i = 1,...,k\).

The distribution is supported on \(x_1,...,x_k\).

skewness, kurtosis, entropy, mgf, cf are omitted as no closed form analytic expression could be found, decorate with CoreStatistics for numerical results.

Sampling from this distribution is performed with the sample function with the elements given as the support set and uniform probabilities. The cdf and quantile assumes that the elements are supplied in an indexed order (otherwise the results are meaningless).

References

McLaughlin, M. P. (2001). A compendium of common probability distributions (pp. 2014-01). Michael P. McLaughlin.

See Also

listDistributions for all available distributions. sample for the sampling function. CoreStatistics for numerical results.

Examples

Run this code
# NOT RUN {
x = Empirical$new(stats::runif(1000)*10)

# d/p/q/r
x$pdf(1:5)
x$cdf(1:5) # Assumes ordered in construction
x$quantile(0.42) # Assumes ordered in construction
x$rand(10)

# Statistics
x$mean()
x$variance()

summary(x)

# }

Run the code above in your browser using DataLab