Probability Distributions in R Programming
Introduction
Probability distributions describe how the values of a random variable are distributed. In R, functions for common distributions such as normal, binomial, and Poisson are built-in. This tutorial provides examples for these distributions.
1. Normal Distribution
The normal distribution is symmetric and describes data that clusters around the mean.
Functions:
dnorm(x, mean, sd)
: Probability density function (PDF)pnorm(q, mean, sd)
: Cumulative distribution function (CDF)qnorm(p, mean, sd)
: Quantile functionrnorm(n, mean, sd)
: Random number generation
Example:
# Generate 10 random numbers from a normal distribution random_numbers <- rnorm(10, mean = 0, sd = 1) print(random_numbers) # Calculate PDF for x = 1 density <- dnorm(1, mean = 0, sd = 1) print(density) # Calculate CDF for x = 1 cumulative <- pnorm(1, mean = 0, sd = 1) print(cumulative) # Calculate the 95th percentile quantile <- qnorm(0.95, mean = 0, sd = 1) print(quantile)
2. Binomial Distribution
The binomial distribution describes the number of successes in a fixed number of independent Bernoulli trials.
Functions:
dbinom(x, size, prob)
: Probability mass function (PMF)pbinom(q, size, prob)
: Cumulative distribution function (CDF)qbinom(p, size, prob)
: Quantile functionrbinom(n, size, prob)
: Random number generation
Example:
# Generate 10 random numbers from a binomial distribution random_numbers <- rbinom(10, size = 10, prob = 0.5) print(random_numbers) # Calculate PMF for x = 5 probability <- dbinom(5, size = 10, prob = 0.5) print(probability) # Calculate CDF for x = 5 cumulative <- pbinom(5, size = 10, prob = 0.5) print(cumulative) # Calculate the 90th percentile quantile <- qbinom(0.9, size = 10, prob = 0.5) print(quantile)
3. Poisson Distribution
The Poisson distribution describes the number of events occurring in a fixed interval of time or space.
Functions:
dpois(x, lambda)
: Probability mass function (PMF)ppois(q, lambda)
: Cumulative distribution function (CDF)qpois(p, lambda)
: Quantile functionrpois(n, lambda)
: Random number generation
Example:
# Generate 10 random numbers from a Poisson distribution random_numbers <- rpois(10, lambda = 3) print(random_numbers) # Calculate PMF for x = 2 probability <- dpois(2, lambda = 3) print(probability) # Calculate CDF for x = 2 cumulative <- ppois(2, lambda = 3) print(cumulative) # Calculate the 75th percentile quantile <- qpois(0.75, lambda = 3) print(quantile)
Conclusion
R provides powerful functions to work with probability distributions. Understanding these functions allows you to analyze and simulate data efficiently.