This tutorial explains how to work with the Poisson distribution in R using the following functions

**dpois**: returns the value of the Poisson probability density function.**ppois**: returns the value of the Poisson cumulative density function.**qpois**: returns the value of the inverse Poisson cumulative density function.**rpois**: generates a vector of Poisson distributed random variables.

Here are some examples of cases where you might use each of these functions.

**dpois**

The **dpois **function finds the probability that a certain number of successes occur based on an average rate of success, using the following syntax:

**dpois(x, lambda) **

where:

**x:**number of successes**lambda:**average rate of success

Here’s an example of when you might use this function in practice:

**It is known that a certain website makes 10 sales per hour. In a given hour, what is the probability that the site makes exactly 8 sales?**

dpois(x=8, lambda=10) #0.112599

The probability that the site makes exactly 8 sales is **0.112599**.

**ppois**

The **p****pois **function finds the probability that a certain number of successes *or less* occur based on an average rate of success, using the following syntax:

**ppois(q, lambda) **

where:

**q:**number of successes**lambda:**average rate of success

Here’s are a couple examples of when you might use this function in practice:

**It is known that a certain website makes 10 sales per hour. In a given hour, what is the probability that the site makes 8 sales or less?**

ppois(q=8, lambda=10) #0.3328197

The probability that the site makes 8 sales or less in a given hour is **0.3328197**.

**It is known that a certain website makes 10 sales per hour. In a given hour, what is the probability that the site makes more than 8 sales?**

1 - ppois(q=8, lambda=10) #0.6671803

The probability that the site makes more than 8 sales in a given hour is **0.6671803**.

**qpois**

The **q****pois **function finds the number of successes that corresponds to a certain percentile based on an average rate of success, using the following syntax:

**qpois(p, lambda) **

where:

**p:**percentile**lambda:**average rate of success

Here’s an example of when you might use this function in practice:

**It is known that a certain website makes 10 sales per hour. How many sales would the site need to make to be at the 90th percentile for sales in an hour?**

qpois(p=.90, lambda=10) #14

A site would need to make **14 **sales to be at the 90th percentile for number of sales in an hour.

**rpois**

The **r****pois **function generates a list of random variables that follow a Poisson distribution with a certain average rate of success, using the following syntax:

**rpois(n, lambda) **

where:

**n:**number of random variables to generate**lambda:**average rate of success

Here’s an example of when you might use this function in practice:

**Generate a list of 15 random variables that follow a Poisson distribution with a rate of success equal to 10.**

rpois(n=15, lambda=10) # [1] 13 8 8 20 8 10 8 10 13 10 12 8 10 10 6

Since these numbers are generated randomly, the **rpois() **function will produce different numbers each time. If you want to create a reproducible example, be sure to use the **set.seed() **command.