# Geometric Distribution in R (4 Examples) | dgeom, pgeom, qgeom & rgeom Functions

This tutorial shows how to apply the geometric functions in the R programming language.

The tutorial contains four examples for the geom R commands. More precisely, the tutorial will consist of the following content:

You’re here for the answer, so let’s get straight to the examples…

## Example 1: Geometric Density in R (dgeom Function)

In the first example, we will illustrate the density of the geometric distribution in a plot. As a first step, we need to create a vector of quantiles:

`x_dgeom <- seq(0, 20, by = 1)                         # Specify x-values for dgeom function`

Now, we can apply the dgeom function to this vector as shown in the R code below. Note that I’m using a probability of 0.5 (i.e. 50%) in the examples of this tutorial. You may modify this probability to your specific preferences.

`y_dgeom <- dgeom(x_dgeom, prob = 0.5)                 # Apply dgeom function`

The previous R syntax stored the density values of the geometric distribution in the data object y_dgeom. We can now plot these values with the plot R function as follows:

`plot(y_dgeom)                                         # Plot dgeom values` Figure 1: Application of dgeom Function.

## Example 2: Geometric Cumulative Distribution Function (pgeom Function)

Example 2 shows how to draw a plot of the geometric cumulative distribution function (CDF). As in Example 1, we first need to create a sequence of quantiles:

`x_pgeom <- seq(0, 20, by = 1)                         # Specify x-values for pgeom function`

We can use this sequence of quantiles as input for the pgeom function:

`y_pgeom <- pgeom(x_pgeom, prob = 0.5)                 # Apply pgeom function`

And then, we can apply the plot function to draw a graphic containing the values of the geometric cumulative distribution function:

`plot(y_pgeom)                                         # Plot pgeom values` Figure 2: Application of pgeom Function.

## Example 3: Geometric Quantile Function (qgeom Function)

In the third example, we will discuss the geometric quantile function. In case of the quantile function, we need to create a vector of probabilities (instead of quantiles as in Examples 1 and 2):

`x_qgeom <- seq(0, 1, by = 0.01)                        # Specify x-values for qgeom function`

Now, we can use the qgeom R function to return the quantile function values that correspond to our input probabilities:

`y_qgeom <- qgeom(x_qgeom, prob = 0.5)                  # Apply qgeom function`

Finally, we can produce a graph that is showing our quantile function values:

`plot(y_qgeom)                                          # Plot qgeom values` Figure 3: Application of qgeom Function.

## Example 4: Simulation of Random Numbers (rgeom Function)

We can also simulate a set of random numbers, which follows the geometric distribution. For this task, we first need to specify a seed and a sample size of random numbers that we want to generate:

```set.seed(53535)                                        # Set seed for reproducibility
N <- 10000                                                                # Specify sample size```

Then, we can apply the rgeom function to generate our random numbers:

```y_rgeom <- rgeom(N, prob = 0.5)                        # Draw N geometrically distributed values
y_rgeom                                                                   # Print values to RStudio console```

The following histogram shows how our random numbers are distributed:

```hist(y_rgeom,                                          # Plot of randomly drawn geom density
breaks = 70,
main = "")``` Figure 4: Application of rgeom Function.

Compare the distribution of the random numbers shown in Figure 4 and the geometric density shown in Figure 1. Both figures show the geometric distribution.

## Video & Further Resources

Have a look at the following video of my YouTube channel. I’m explaining the R programming syntax of this article in the video.

You may also have a look at the other posts on probability distributions and the simulation of random numbers in R programming:

In addition, you may read the other RStudio posts of my homepage. I have released several tutorials about different types of distributions already.

Summary: In this article you learned how to deal with the geom functions in R programming. If you have any further questions, don’t hesitate to tell me about it in the comments.

Subscribe to the Statistics Globe Newsletter