Mathematical and statistical functions for the Matdist distribution, which is commonly used in vectorised empirical estimators such as Kaplan-Meier.
Returns an R6 object inheriting from class SDistribution.
The distribution is supported on \(x_{11},...,x_{kn}\).
Matdist(matrix(0.5, 2, 2, dimnames = list(NULL, 1:2)))
N/A
N/A
distr6::Distribution
-> distr6::SDistribution
-> Matdist
name
Full name of distribution.
short_name
Short name of distribution for printing.
description
Brief description of the distribution.
properties
Returns distribution properties, including skewness type and symmetry.
new()
Creates a new instance of this R6 class.
Matdist$new(pdf = NULL, cdf = NULL, decorators = NULL)
pdf
numeric()
Probability mass function for corresponding samples, should be same length x
.
If cdf
is not given then calculated as cumsum(pdf)
.
cdf
numeric()
Cumulative distribution function for corresponding samples, should be same length x
. If
given then pdf
calculated as difference of cdf
s.
decorators
(character())
Decorators to add to the distribution during construction.
x
numeric()
Data samples, must be ordered in ascending order.
strprint()
Printable string representation of the Distribution
. Primarily used internally.
Matdist$strprint(n = 2)
n
(integer(1))
Ignored.
mean()
The arithmetic mean of a (discrete) probability distribution X is the expectation $$E_X(X) = \sum p_X(x)*x$$ with an integration analogue for continuous distributions. If distribution is improper (F(Inf) != 1, then E_X(x) = Inf).
Matdist$mean(...)
...
Unused.
median()
Returns the median of the distribution. If an analytical expression is available
returns distribution median, otherwise if symmetric returns self$mean
, otherwise
returns self$quantile(0.5)
.
Matdist$median()
mode()
The mode of a probability distribution is the point at which the pdf is a local maximum, a distribution can be unimodal (one maximum) or multimodal (several maxima).
Matdist$mode(which = 1)
which
(character(1) | numeric(1)
Ignored if distribution is unimodal. Otherwise "all"
returns all modes, otherwise specifies
which mode to return.
variance()
The variance of a distribution is defined by the formula $$var_X = E[X^2] - E[X]^2$$ where \(E_X\) is the expectation of distribution X. If the distribution is multivariate the covariance matrix is returned. If distribution is improper (F(Inf) != 1, then var_X(x) = Inf).
Matdist$variance(...)
...
Unused.
skewness()
The skewness of a distribution is defined by the third standardised moment, $$sk_X = E_X[\frac{x - \mu}{\sigma}^3]$$ where \(E_X\) is the expectation of distribution X, \(\mu\) is the mean of the distribution and \(\sigma\) is the standard deviation of the distribution. If distribution is improper (F(Inf) != 1, then sk_X(x) = Inf).
Matdist$skewness(...)
...
Unused.
kurtosis()
The kurtosis of a distribution is defined by the fourth standardised moment, $$k_X = E_X[\frac{x - \mu}{\sigma}^4]$$ where \(E_X\) is the expectation of distribution X, \(\mu\) is the mean of the distribution and \(\sigma\) is the standard deviation of the distribution. Excess Kurtosis is Kurtosis - 3. If distribution is improper (F(Inf) != 1, then k_X(x) = Inf).
Matdist$kurtosis(excess = TRUE, ...)
excess
(logical(1))
If TRUE
(default) excess kurtosis returned.
...
Unused.
entropy()
The entropy of a (discrete) distribution is defined by $$- \sum (f_X)log(f_X)$$ where \(f_X\) is the pdf of distribution X, with an integration analogue for continuous distributions. If distribution is improper then entropy is Inf.
Matdist$entropy(base = 2, ...)
base
(integer(1))
Base of the entropy logarithm, default = 2 (Shannon entropy)
...
Unused.
mgf()
The moment generating function is defined by $$mgf_X(t) = E_X[exp(xt)]$$ where X is the distribution and \(E_X\) is the expectation of the distribution X. If distribution is improper (F(Inf) != 1, then mgf_X(x) = Inf).
Matdist$mgf(t, ...)
t
(integer(1))
t integer to evaluate function at.
...
Unused.
cf()
The characteristic function is defined by $$cf_X(t) = E_X[exp(xti)]$$ where X is the distribution and \(E_X\) is the expectation of the distribution X. If distribution is improper (F(Inf) != 1, then cf_X(x) = Inf).
Matdist$cf(t, ...)
t
(integer(1))
t integer to evaluate function at.
...
Unused.
pgf()
The probability generating function is defined by $$pgf_X(z) = E_X[exp(z^x)]$$ where X is the distribution and \(E_X\) is the expectation of the distribution X. If distribution is improper (F(Inf) != 1, then pgf_X(x) = Inf).
Matdist$pgf(z, ...)
z
(integer(1))
z integer to evaluate probability generating function at.
...
Unused.
clone()
The objects of this class are cloneable with this method.
Matdist$clone(deep = FALSE)
deep
Whether to make a deep clone.
The Matdist distribution is defined by the pmf, $$f(x_{ij}) = p_{ij}$$ for \(p_{ij}, i = 1,\ldots,k, j = 1,\ldots,n; \sum_i p_{ij} = 1\).
This is a special case distribution in distr6 which is technically a vectorised distribution
but is treated as if it is not. Therefore we only allow evaluation of all functions at
the same value, e.g. $pdf(1:2)
evaluates all samples at '1' and '2'.
Sampling from this distribution is performed with the sample function with the elements given as the x values and the pdf as the probabilities. The cdf and quantile assume that the elements are supplied in an indexed order (otherwise the results are meaningless).
McLaughlin, M. P. (2001). A compendium of common probability distributions (pp. 2014-01). Michael P. McLaughlin.
Other discrete distributions:
Bernoulli
,
Binomial
,
Categorical
,
Degenerate
,
DiscreteUniform
,
EmpiricalMV
,
Empirical
,
Geometric
,
Hypergeometric
,
Logarithmic
,
Multinomial
,
NegativeBinomial
,
WeightedDiscrete
Other univariate distributions:
Arcsine
,
Bernoulli
,
BetaNoncentral
,
Beta
,
Binomial
,
Categorical
,
Cauchy
,
ChiSquaredNoncentral
,
ChiSquared
,
Degenerate
,
DiscreteUniform
,
Empirical
,
Erlang
,
Exponential
,
FDistributionNoncentral
,
FDistribution
,
Frechet
,
Gamma
,
Geometric
,
Gompertz
,
Gumbel
,
Hypergeometric
,
InverseGamma
,
Laplace
,
Logarithmic
,
Logistic
,
Loglogistic
,
Lognormal
,
NegativeBinomial
,
Normal
,
Pareto
,
Poisson
,
Rayleigh
,
ShiftedLoglogistic
,
StudentTNoncentral
,
StudentT
,
Triangular
,
Uniform
,
Wald
,
Weibull
,
WeightedDiscrete
# NOT RUN {
x <- Matdist$new(pdf = matrix(0.5, 2, 2, dimnames = list(NULL, 1:2)))
Matdist$new(cdf = matrix(c(0.5, 1), 2, 2, TRUE, dimnames = list(NULL, c(1, 2)))) # equivalently
# 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