# How to Apply Bayes’ Theorem in R

Bayes’ Theorem states the following for any two events A and B:

P(A|B) = P(A)*P(B|A) / P(B)

where:

• P(A|B): The probability of event A, given event B has occurred.
• P(B|A): The probability of event B, given event A has occurred.
• P(A): The probability of event A.
• P(B): The probability of event B.

For example, suppose the probability of the weather being cloudy is 40%.  Also suppose the probability of rain on a given day is 20% and that the probability of clouds on a rainy day is 85%.

If it’s cloudy outside on a given day, what is the probability that it will rain that day?

Solution:

• P(cloudy) = 0.40
• P(rain) = 0.20
• P(cloudy | rain) = 0.85

Thus, we can calculate:

• P(rain | cloudy) = P(rain) * P(cloudy | rain) / P(cloudy)
• P(rain | cloudy) = 0.20 * 0.85 / 0.40
• P(rain | cloudy) = 0.425

If it’s cloudy outside on a given day, the probability that it will rain that day is 42.5%.

We can create the following simple function to apply Bayes’ Theorem in R:

```bayesTheorem <- function(pA, pB, pBA) {
pAB <- pA * pBA / pB
return(pAB)
}
```

The following example shows how to use this function in practice.

### Example : Bayes’ Theorem in R

Suppose we know the following probabilities:

• P(rain) = 0.20
• P(cloudy) = 0.40
• P(cloudy | rain) = 0.85

To calculate P(rain | cloudy), we can use the following syntax:

```#define function for Bayes' Theorem
bayesTheorem <- function(pA, pB, pBA) {
pAB <- pA * pBA / pB
return(pAB)
}

#define probabilities
pRain <- 0.2
pCloudy <- 0.4
pCloudyRain <- .85

#use function to calculate conditional probability
bayesTheorem(pRain, pCloudy, pCloudyRain)

 0.425
```

This tells us that if it’s cloudy outside on a given day, the probability that it will rain that day is 0.425 or 42.5%.

This matches the value that we calculated earlier by hand.