# Gamma Distribution in R (4 Examples) | dgamma, pgamma, qgamma & rgamma Functions

This article illustrates how to apply the gamma functions in the R programming language.

The post is structured as follows:

Let’s dive right in:

## Example 1: Gamma Density in R (dgamma Function)

Let’s start with a density plot of the gamma distribution. For this task, we first need to create an input vector containing of a sequence of quantiles:

`x_dgamma <- seq(0, 1, by = 0.02) # Specify x-values for gamma function`

We can now use this vector as input for the dgamma function as you can see below. In the examples of this tutorial, we’ll use a shape of 5:

`y_dgamma <- dgamma(x_dgamma, shape = 5) # Apply dgamma function`

In order to create a plot of the output of the dgamma function, we can apply the plot function as follows:

`plot(y_dgamma) # Plot dgamma values` Figure 1: Gamma Density in R.

Figure 1 illustrates the output of the previous R syntax – A plot of the gamma distribution in R!

Let’s move on to the next example…

## Example 2: Gamma Cumulative Distribution Function (pgamma Function)

In Example 2, I’ll show you how to create a cumulative distribution function (CDF) of the gamma distribution. As in Example 1, we first need to create a sequence of quantiles:

`x_pgamma <- seq(0, 1, by = 0.02) # Specify x-values for pgamma function`

We can now use the pgamma function to convert our sequence of quantiles to its corresponding CDF values of the gamma distribution:

`y_pgamma <- pgamma(x_pgamma, shape = 5) # Apply pgamma function`

We can also create a graphic of this data with the plot function in R:

`plot(y_pgamma) # Plot pgamma values` Figure 2: Gamma Cumulative Distribution Function.

## Example 3: Gamma Quantile Function (qgamma Function)

If we want to create a plot reflecting the quantile function of the gamma distribution, we need to create a vector of probabilities:

`x_qgamma <- seq(0, 1, by = 0.02) # Specify x-values for qgamma function`

We now can use the qgamma command of the R programming language…

`y_qgamma <- qgamma(x_qgamma, shape = 5) # Apply qgamma function`

…and create a scatterplot as follows:

`plot(y_qgamma) # Plot qgamma values` Figure 3: Gamma Quantile Function.

## Example 4: Random Number Generation (rgamma Function)

In order to generate a set of random numbers, which is distributed as the gamma distribution, we need to specify a seed (for reproducibility)…

`set.seed(13579) # Set seed for reproducibility`

…and we also need to specify the sample size of random numbers that we want to draw (i.e. 10000):

`N <- 10000 # Specify sample size`

Random numbers can now be simulated with the rgamma function:

```y_rgamma <- rgamma(N, shape = 5) # Draw N gamma distributed values y_rgamma # Print values to RStudio console```

Let’s have a look at a histogram of our values:

```hist(y_rgamma, # Plot of randomly drawn gamma density breaks = 1000, main = "")``` Figure 4: Random Numbers with Gamma Distribution.

Figure 4 shows the result of our random number simulation – Looks like the gamma distribution!

## Video & Further Resources

Have a look at the following video of my YouTube channel. I’m explaining the content of this post in the video:

You might also have a look at the other tutorials on distributions and the simulation of random numbers in the R programming language:

Furthermore, you could read the other posts on this homepage. You can find some tutorials below:

Summary: You learned in this tutorial how to use the different gamma functions in R. Please let me know in the comments, if you have additional questions or comments.