How can I plot an Exponential Distribution in R?

To plot an Exponential Distribution in R, you can use the “rexp” function from the “stats” package. This function generates random numbers from an Exponential Distribution with specified parameters. You can then use the “hist” function to create a histogram of these generated numbers and visualize the shape of the distribution. Additionally, you can use the “curve” function to plot the probability density function of the Exponential Distribution on top of the histogram, providing a visual representation of the theoretical distribution. Overall, using these functions in R allows for a simple and effective way to plot an Exponential Distribution and gain insights into its characteristics.

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

Additional Resources

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

x