*Please download the file homework10.R and write your
results there. Send the your answers to my
mailbox.*

# Shall you take the umbrella?

It is early in the morning and you are preparing to get out of home. You look out through the window and you see that the sky is cloudy, and it looks like it may rain. You open your cellphone and check the weather prediction. It says 15% probability of rain for each hour on the next 12 hours. So, the chance of rain for each specific hour is small, but you will be out for many hours. Shall you take the umbrella?

We will assume that the probability of rain in every hour is independent of each other. That is, the chance of rain between 8:00 and 9:00 is 15%, and the probability of rain between 9:00 and 10:00 is also 15%.

## 1. Simulate one day

Please write a function called `one_day`

, that simulates
one day of possible rain, hour by hour. The function has two inputs: the
number of hours `h`

, and the probability of rain for each
hour `p`

. The function must return a *logic* vector of
length `h`

. Each element of the vector is `TRUE`

when there is rain on the corresponding hour.

```
<- function(h, p) {
one_day # write here
}
```

Notice that the first element of the vector correspond to the time you will leave home, and the last element represents the time just before you come home.

Using the following test code, you should get a plot similar to this figure

```
<- replicate(1000, sum(one_day(12, 0.15)))
hours_of_rain barplot(table(hours_of_rain)/1000)
```

## 2. How long will it rain

What is the average number of hours of rain? what is the standard deviation?

`# write here`

```
[1] 1.883
[1] 1.221804
```

## 3. Will today be a rainy day?

Please write a function that represents the event *“there is rain
at least one time”*. The function is called
`rainy_day(v)`

and takes a vector of logic values, such as
the output of the previous question. The output of
`rainy_day(v)`

is a single logic value, which is
`TRUE`

if there is rain at least for one hour. In other
words, `rainy_day()`

is an event.

```
<- function(v) {
rainy_day # write here
}
```

Test your function with this code:

`rainy_day(c(FALSE, FALSE, FALSE))`

`[1] FALSE`

`rainy_day(c(FALSE, TRUE, FALSE))`

`[1] TRUE`

## 4. How many rainy days like today?

Write a function that calculates the *average* number of rainy
days. The function must simulate `m`

days and calculate the
proportion of days when it rains at least during one hour. Use the
functions `mean()`

, `replicate()`

,
`rainy_day()`

, and `one_day()`

```
<- function(m, hours, prob) {
mean_rainy_days # write here
}
```

Now you can simulate several samples and see the distribution. Your result should be similar to this:

```
<- replicate(2000, mean_rainy_days(100, 12, 0.15))
sample_means hist(sample_means, col="grey", nclass=30)
```

## 5. Finding a range for the probability of rain

What is the average of the average number of rainy days? That is,
what is your estimation of the *population mean*?

What is the standard deviation? What is the standard error?

`# write here`