Probability Lab

Author

Rachel Chan

Probability Lab

Load libraries

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.4.4     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.0
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(openintro)
Loading required package: airports
Loading required package: cherryblossom
Loading required package: usdata

Access the data

data ("kobe_basket")
head(kobe_basket)
# A tibble: 6 × 6
  vs     game quarter time  description                                    shot 
  <fct> <int> <fct>   <fct> <fct>                                          <chr>
1 ORL       1 1       9:47  Kobe Bryant makes 4-foot two point shot        H    
2 ORL       1 1       9:07  Kobe Bryant misses jumper                      M    
3 ORL       1 1       8:11  Kobe Bryant misses 7-foot jumper               M    
4 ORL       1 1       7:41  Kobe Bryant makes 16-foot jumper (Derek Fishe… H    
5 ORL       1 1       7:03  Kobe Bryant makes driving layup                H    
6 ORL       1 1       6:01  Kobe Bryant misses jumper                      M    

Exercise 1

What does a streak length of 1 mean, i.e. how many hits and misses are in a streak of 1? What about a streak length of 0?

A streak can have any amount of hits and the streak ends when there is a miss. So a streak can have one or more hit and as soon as there is a miss the streak ends. If it is a streak length of 0 that means that there is no hits and only a miss.

Lengths of streak

kobe_streak <- calc_streak(kobe_basket$shot)

Distribution of streak

ggplot(data = kobe_streak, aes(x = length)) +
  geom_bar()

Exercise 2

Describe the distribution of Kobe’s streak lengths from the 2009 NBA finals. What was his typical streak length? How long was his longest streak of baskets? Make sure to include the accompanying plot in your answer.

Its skewed right. Most of the streak length was 0. Streak length was about 6.

Simulations

coin_outcomes <- c("heads", "tails")
sample(coin_outcomes, size = 1, replace = TRUE)
[1] "tails"

setting seed

set.seed(35797)

Coin flipping 100 times

sim_fair_coin <- sample(coin_outcomes, size = 100, replace = TRUE)

View results

sim_fair_coin
  [1] "tails" "heads" "heads" "tails" "heads" "tails" "heads" "heads" "tails"
 [10] "heads" "tails" "tails" "tails" "heads" "heads" "heads" "heads" "heads"
 [19] "tails" "tails" "tails" "tails" "heads" "heads" "heads" "tails" "heads"
 [28] "tails" "tails" "heads" "heads" "heads" "heads" "tails" "heads" "heads"
 [37] "tails" "heads" "heads" "heads" "heads" "tails" "tails" "tails" "tails"
 [46] "heads" "heads" "heads" "tails" "tails" "tails" "tails" "heads" "tails"
 [55] "tails" "heads" "tails" "heads" "heads" "tails" "tails" "heads" "heads"
 [64] "heads" "heads" "heads" "heads" "heads" "heads" "heads" "heads" "tails"
 [73] "tails" "heads" "heads" "heads" "tails" "tails" "heads" "heads" "tails"
 [82] "heads" "heads" "tails" "heads" "tails" "heads" "tails" "heads" "heads"
 [91] "heads" "tails" "tails" "tails" "tails" "tails" "heads" "tails" "tails"
[100] "heads"
table(sim_fair_coin)
sim_fair_coin
heads tails 
   56    44 

setting seed

set.seed(35797)

Unfair coin toss

sim_unfair_coin <- sample(coin_outcomes, size = 100, replace = TRUE, 
                          prob = c(0.2, 0.8))

Unfair coin toss results

sim_unfair_coin
  [1] "tails" "tails" "tails" "tails" "tails" "heads" "tails" "tails" "tails"
 [10] "tails" "tails" "heads" "heads" "tails" "heads" "heads" "heads" "tails"
 [19] "tails" "tails" "tails" "tails" "heads" "tails" "tails" "tails" "tails"
 [28] "tails" "tails" "tails" "tails" "tails" "tails" "tails" "tails" "heads"
 [37] "tails" "tails" "tails" "tails" "tails" "tails" "tails" "tails" "heads"
 [46] "heads" "tails" "tails" "tails" "heads" "heads" "tails" "tails" "heads"
 [55] "heads" "tails" "tails" "tails" "tails" "tails" "tails" "heads" "tails"
 [64] "heads" "tails" "tails" "heads" "tails" "tails" "tails" "tails" "heads"
 [73] "heads" "tails" "tails" "tails" "tails" "tails" "heads" "heads" "tails"
 [82] "heads" "tails" "tails" "heads" "tails" "tails" "tails" "tails" "tails"
 [91] "tails" "heads" "heads" "tails" "tails" "tails" "heads" "tails" "tails"
[100] "tails"
table(sim_unfair_coin)
sim_unfair_coin
heads tails 
   26    74 

Exercise 3

In your simulation of flipping the unfair coin 100 times, how many flips came up heads? Include the code for sampling the unfair coin in your response. Since the markdown file will run the code, and generate a new sample each time you Knit it, you should also “set a seed” before you sample. Read more about setting a seed below.

I sett the seed for fair and unfair

Independent shooter

shot_outcomes <- c("H", "M")
sim_basket <- sample(shot_outcomes, size = 1, replace = TRUE)

Exercise 4

What change needs to be made to the sample function so that it reflects a shooting percentage of 45%? Make this adjustment, then run a simulation to sample 133 shots. Assign the output of this simulation to a new object called sim_basket.