| simplify.edist | R Documentation |
edist object.Attempts to reduce expression distributions to closed-form distributions when mathematical identities apply. Supported rules include:
## S3 method for class 'edist'
simplify(x, ...)
x |
The |
... |
Additional arguments to pass (not used) |
Single-variable:
c * Normal(mu, v) -> Normal(cmu, c^2v)
c * Gamma(a, r) -> Gamma(a, r/c) for c > 0
c * Exponential(r) -> Gamma(1, r/c) for c > 0
c * Uniform(a, b) -> Uniform(min(ca,cb), max(ca,cb)) for c != 0
c * Weibull(k, lam) -> Weibull(k, c*lam) for c > 0
c * ChiSq(df) -> Gamma(df/2, 1/(2c)) for c > 0
c * LogNormal(ml, sl) -> LogNormal(ml + log(c), sl) for c > 0
Normal(mu, v) + c -> Normal(mu + c, v)
Normal(mu, v) - c -> Normal(mu - c, v)
Uniform(a, b) + c -> Uniform(a + c, b + c)
Uniform(a, b) - c -> Uniform(a - c, b - c)
Normal(0, 1) ^ 2 -> ChiSquared(1)
exp(Normal(mu, v)) -> LogNormal(mu, sqrt(v))
log(LogNormal(ml, sl)) -> Normal(ml, sl^2)
Two-variable:
Normal + Normal -> Normal
Normal - Normal -> Normal
Gamma + Gamma (same rate) -> Gamma
Exponential + Exponential (same rate) -> Gamma(2, rate)
Gamma + Exponential (same rate) -> Gamma(a+1, rate)
ChiSquared + ChiSquared -> ChiSquared
Poisson + Poisson -> Poisson
LogNormal * LogNormal -> LogNormal
The simplified distribution, or unchanged edist if no rule applies
# Normal + Normal simplifies to a Normal
z <- normal(0, 1) + normal(2, 3)
is_normal(z) # TRUE
z # Normal(mu = 2, var = 4)
# exp(Normal) simplifies to LogNormal
w <- exp(normal(0, 1))
is_lognormal(w) # TRUE
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.