How to Plot an Exponential Distribution in R?


The is a probability distribution that is used to model the time we must wait until a certain event occurs.

If a X follows an exponential distribution, then the probability density function of X can be written as:

f(x; λ) = λe-λx

where:

  • λ: the rate parameter
  • e: A constant roughly equal to 2.718

The cumulative distribution function of X can be written as:

F(x; λ) = 1 – e-λx

This tutorial explains how to plot a PDF and CDF for the exponential distribution in R.

Plotting a Probability Density Function

The following code shows how to plot a PDF of an exponential distribution with rate parameter λ = 0.5:

curve(dexp(x, rate = .5), from=0, to=10, col='blue')

Plot exponential PDF in R

The following code shows how to plot multiple PDF’s of an exponential distribution with various rate parameters:

#plot PDF curves
curve(dexp(x, rate = .5), from=0, to=10, col='blue')
curve(dexp(x, rate = 1), from=0, to=10, col='red', add=TRUE)
curve(dexp(x, rate = 1.5), from=0, to=10, col='purple', add=TRUE)

#add legend
legend(7, .5, legend=c("rate=.5", "rate=1", "rate=1.5"),
       col=c("blue", "red", "purple"), lty=1, cex=1.2)

Plot of multiple exponential PDF functions in R

Plotting a Cumulative Distribution Function

The following code shows how to plot a CDF of an exponential distribution with rate parameter λ = 0.5:

curve(pexp(x, rate = .5), from=0, to=10, col='blue')

Exponential CDF plot in R

The following code shows how to plot multiple CDF’s of an exponential distribution with various rate parameters:

#plot CDF curves
curve(pexp(x, rate = .5), from=0, to=10, col='blue')
curve(pexp(x, rate = 1), from=0, to=10, col='red', add=TRUE)
curve(pexp(x, rate = 1.5), from=0, to=10, col='purple', add=TRUE)

#add legend
legend(7, .9, legend=c("rate=.5", "rate=1", "rate=1.5"),
       col=c("blue", "red", "purple"), lty=1, cex=1.2)

Multiple exponential distributions in one plot in R

The following tutorials explain how to plot other probability distributions in R:

x