# Exponential: The Exponential Distribution In nimble: MCMC, Particle Filtering, and Programmable Hierarchical Modeling

 Exponential R Documentation

## The Exponential Distribution

### Description

Density, distribution function, quantile function and random generation for the exponential distribution with rate (i.e., mean of `1/rate`) or scale parameterizations.

### Usage

```dexp_nimble(x, rate = 1/scale, scale = 1, log = FALSE)

rexp_nimble(n = 1, rate = 1/scale, scale = 1)

pexp_nimble(q, rate = 1/scale, scale = 1, lower.tail = TRUE, log.p = FALSE)

qexp_nimble(p, rate = 1/scale, scale = 1, lower.tail = TRUE, log.p = FALSE)
```

### Arguments

 `x` vector of values. `rate` vector of rate values. `scale` vector of scale values. `log` logical; if TRUE, probability density is returned on the log scale. `n` number of observations. `q` vector of quantiles. `lower.tail` logical; if TRUE (default) probabilities are P[X ≤ x]; otherwise, P[X > x]. `log.p` logical; if TRUE, probabilities p are given by user as log(p). `p` vector of probabilities.

### Details

NIMBLE's exponential distribution functions use Rmath's functions under the hood, but are parameterized to take both rate and scale and to use 'rate' as the core parameterization in C, unlike Rmath, which uses 'scale'. See Gelman et al., Appendix A or the BUGS manual for mathematical details.

### Value

`dexp_nimble` gives the density, `pexp_nimble` gives the distribution function, `qexp_nimble` gives the quantile function, and `rexp_nimble` generates random deviates.

### Author(s)

Christopher Paciorek

### References

Gelman, A., Carlin, J.B., Stern, H.S., and Rubin, D.B. (2004) Bayesian Data Analysis, 2nd ed. Chapman and Hall/CRC.

```x <- rexp_nimble(50, scale = 3)