Bernoulli Distribution in R (4 Examples) | dbern, pbern, qbern & rbern Functions
In this R tutorial you’ll learn how to apply the Bernoulli distribution functions.
Table of contents:
- Example 1: Bernoulli Probability Density Function (dbern Function)
- Example 2: Bernoulli Cumulative Distribution Function (pbern Function)
- Example 3: Bernoulli Quantile Function (qbern Function)
- Example 4: Generating Random Numbers (rbern Function)
- Video, Further Resources & Summary
Let’s start right away.
Example 1: Bernoulli Probability Density Function (dbern Function)
In the first example, I’ll show you how to draw a plot of the probability density function (PDF) of the Bernoulli distribution.
The base installation of R does not provide any Bernoulli distribution functions. For that reason, we need to install and load the Rlab add-on package first:
install.packages("Rlab") # Install Rlab package library("Rlab") # Load Rlab package
Then, we need to create a vector of quantiles in R:
x_dbern <- seq(0, 10, by = 1) # Specify x-values for dbern function
We can now apply the dbern function of the Rlab R package to our vector of quantiles in order to return the corresponding values of the Bernoulli PDF:
y_dbern <- dbern(x_dbern, prob = 0.7) # Apply dbern function
If we want to draw a graphic of this distribution, we can apply the plot function as shown below:
plot(y_dbern, type = "o") # Plot dbern values
Figure 1: PDF of Bernoulli Distribution in R.
Example 2: Bernoulli Cumulative Distribution Function (pbern Function)
The R syntax for the cumulative distribution function of the Bernoulli distribution is similar as in Example 1. First, we have to create a vector of quantiles:
x_pbern <- seq(0, 10, by = 1) # Specify x-values for pbern function
Then, we can apply the pbern function to this vector:
y_pbern <- pbern(x_pbern, prob = 0.7) # Apply pbern function
And finally, we can create a graph of the output of pbern with the plot function:
plot(y_pbern, type = "o") # Plot pbern values
Figure 2: CDF of Bernoulli Distribution in R.
Example 3: Bernoulli Quantile Function (qbern Function)
Example 3 shows how to create a graphic of the quantile function of the Bernoulli distribution. As a first step, we have to create a sequence of probabilities (i.e. values between 0 and 1):
x_qbern <- seq(0, 1, by = 0.1) # Specify x-values for qbern function
We can now use the qbern function to get the corresponding quantile function values for our probabilities:
y_qbern <- qbern(x_qbern, prob = 0.7) # Apply qbern function
The corresponding plot can be drawn with the plot function:
plot(y_qbern, type = "o") # Plot qbern values
Figure 3: Quantile Function of Bernoulli Distribution in R.
Example 4: Generating Random Numbers (rbern Function)
To generate a set of random numbers with a Bernoulli distribution, we need to specify a seed and a sample size N first:
set.seed(98989) # Set seed for reproducibility N <- 10000 # Specify sample size
Then, we can apply the rbern function to create N Bernoulli distributed random numbers:
y_rbern <- rbern(N, prob = 0.7) # Draw N random values y_rbern # Print values to RStudio console
We can illustrate the output of the rbern function with a histogram:
hist(y_rbern, # Plot of randomly drawn density breaks = 5, main = "")
Figure 4: Randomly Drawn Numbers of Bernoulli Distribution in R.
Video, Further Resources & Summary
If you need further info on the R codes of this tutorial, you may watch the following video of my YouTube channel. I illustrate the R syntax of this page in the video:
The YouTube video will be added soon.
You may also have a look at the other tutorials on distributions and the simulation of random numbers in R:
- Bernoulli Distribution in R
- Beta Distribution in R
- Binomial Distribution in R
- Bivariate & Multivariate Distributions in R
- Cauchy Distribution in R
- Chi-Squred Distribution in R
- Exponential Distribution in R
- F Distribution in R
- Gamma Distribution in R
- Geometric Distribution in R
- Hypergeometric Distribution in R
- Log Normal Distribution in R
- Logistic Distribution in R
- Negative Binomial Distribution in R
- Normal Distribution in R
- Poisson Distribution in R
- Student t Distribution in R
- Studentized Range Distribution in R
- Uniform Distribution in R
- Weibull Distribution in R
- Wilcoxon Signedank Statistic Distribution in R
- Wilcoxonank Sum Statistic Distribution in R
In addition, I can recommend to have a look at some of the related tutorials of my homepage.
This article showed how to use the dbern, pbern, qbern, and rbern functions of the Rlab package in the R programming language. Let me know in the comments below, if you have additional questions. Furthermore, don’t forget to subscribe to my email newsletter for regular updates on the newest articles.
Statistics Globe Newsletter