distribution | R Documentation |
Make a distribution object by specifying properties (e.g., cdf, density, mean, etc.). Some properties, if not included, will be calculated based on other properties that are included (e.g., quantile from cdf; variance from standard deviation). A list of these representations can be found in the details.
distribution(..., .vtype = NULL, .name = NULL)
is_distribution(object)
is.distribution(object)
... |
Name-value pairs for defining the distribution. |
.vtype |
The variable type, typically "discrete" or "continuous". Can be any character vector of length 1. |
.name |
A name to give to the distribution. Can be any character vector of length 1. |
object |
Object to be tested |
Currently, the CDF (cdf
) is required to be specified, along with the PMF
(pmf
) for discrete distributions and density (density
) for continuous
distributions. Otherwise, the full extent of distribution properties will
not be accessible.
A distributional representation is a function that fully describes the
distribution. Besides cdf
, density
, and pmf
, other options
understood by distionary
include:
survival
: the survival function, or one minus the cdf.
hazard
: the hazard function, for continuous variables only.
chf
: the cumulative hazard function, for continuous variables only.
quantile
: the quantile function, or left-inverse of the cdf.
realise
or realize
: a function that takes an integer and generates
a vector of that many random draws from the distribution.
odds
: for discrete variables, the probability odds function
(pmf / (1 - pmf))
return
: the quantiles associated with the provided return periods,
where events are exceedances.
All functions should be vectorized.
Other properties that are understood by distionary
include:
mean
, stdev
, variance
, skewness
, median
are self-explanatory.
kurtosis_exc
and kurtosis
are the distribution's excess
kurtosis and regular kurtosis.
range
: A vector of the minimum and maximum value of a distribution's
support.
A distribution object.
linear <- distribution(
density = function(x) {
d <- 2 * (1 - x)
d[x < 0 | x > 1] <- 0
d
},
cdf = function(x) {
p <- 2 * x * (1 - x / 2)
p[x < 0] <- 0
p[x > 1] <- 1
p
},
.vtype = "continuous",
.name = "My Linear"
)
# Inspect
linear
# Plot
plot(linear)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.