Load packages

library(tidyverse)
library(openintro)

Data

glimpse(kobe_basket)
## Rows: 133
## Columns: 6
## $ vs          <fct> ORL, ORL, ORL, ORL, ORL, ORL, ORL, ORL, ORL, ORL, ORL, ORL…
## $ game        <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
## $ quarter     <fct> 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3…
## $ time        <fct> 9:47, 9:07, 8:11, 7:41, 7:03, 6:01, 4:07, 0:52, 0:00, 6:35…
## $ description <fct> Kobe Bryant makes 4-foot two point shot, Kobe Bryant misse…
## $ shot        <chr> "H", "M", "M", "H", "H", "M", "M", "M", "M", "H", "H", "H"…

Exercise 1

A streak length of 1 means that 1 basket was made before a miss. A streak length of 0 means that no baskets were made.

kobe_streak <- calc_streak(kobe_basket$shot)
ggplot(data = kobe_streak, aes(x = length)) +
  geom_bar()

Exercise 2

The distribution of Kobe’s streak lengths from the 2009 NBA finals were skewed right. He had a higher frequency of streak lengths of 0 and 1. His lower frequency of streak lengths were in the ranges of 2 to 4. His typical streak length was 0, and his longest streak of baskets was 4. All this can be determined from the plot found above.

Simulations in R

coin_outcomes <- c("heads", "tails")
sample(coin_outcomes, size = 1, replace = TRUE)
## [1] "heads"
sim_fair_coin <- sample(coin_outcomes, size = 100, replace = TRUE)
sim_fair_coin
##   [1] "tails" "tails" "tails" "tails" "heads" "tails" "heads" "tails" "tails"
##  [10] "heads" "heads" "tails" "tails" "tails" "heads" "heads" "heads" "heads"
##  [19] "heads" "heads" "tails" "tails" "heads" "tails" "tails" "heads" "tails"
##  [28] "heads" "heads" "tails" "heads" "tails" "tails" "heads" "heads" "tails"
##  [37] "tails" "heads" "tails" "heads" "heads" "tails" "heads" "heads" "tails"
##  [46] "heads" "heads" "heads" "heads" "tails" "heads" "heads" "heads" "tails"
##  [55] "tails" "tails" "tails" "heads" "heads" "heads" "tails" "tails" "heads"
##  [64] "tails" "tails" "heads" "heads" "heads" "heads" "tails" "heads" "heads"
##  [73] "tails" "tails" "tails" "tails" "tails" "heads" "heads" "tails" "tails"
##  [82] "heads" "heads" "heads" "heads" "tails" "tails" "heads" "heads" "tails"
##  [91] "heads" "heads" "heads" "tails" "tails" "tails" "tails" "heads" "heads"
## [100] "heads"
table(sim_fair_coin)
## sim_fair_coin
## heads tails 
##    53    47
set.seed(431811)                 # make sure to change the seed
sim_unfair_coin <- sample(coin_outcomes, size = 100, replace = TRUE, 
                          prob = c(0.2, 0.8))

Exercise 3

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

24 flips came up ‘heads’.

?sample

Simulating the Independent Shooter

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

Exercise 4

The sample probability for ‘H’ should be changed to 0.45, and ‘M’ to 0.65.

shot_outcomes <- c("H", "M")
sim_basket <- sample(shot_outcomes, size = 133, replace = TRUE, prob = c(0.45, 0.55))
sim_basket
##   [1] "H" "M" "H" "M" "H" "H" "H" "H" "M" "H" "M" "H" "H" "H" "M" "H" "M" "M"
##  [19] "H" "H" "H" "H" "H" "M" "M" "H" "H" "H" "H" "M" "M" "M" "H" "M" "H" "H"
##  [37] "M" "H" "H" "H" "M" "H" "H" "H" "M" "H" "M" "H" "H" "M" "M" "M" "M" "H"
##  [55] "H" "H" "H" "H" "H" "M" "H" "M" "M" "H" "M" "M" "M" "M" "M" "H" "M" "M"
##  [73] "M" "M" "H" "H" "M" "H" "M" "M" "H" "M" "H" "H" "M" "H" "H" "H" "M" "H"
##  [91] "H" "M" "M" "M" "H" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "H" "M" "M"
## [109] "M" "M" "M" "M" "M" "H" "M" "M" "H" "M" "H" "M" "M" "M" "M" "H" "H" "M"
## [127] "H" "H" "M" "M" "M" "M" "H"
table(sim_basket)
## sim_basket
##  H  M 
## 63 70
LS0tCnRpdGxlOiAiTGFiIDM6IFByb2JhYmlsaXR5IgphdXRob3I6ICJHZW9yZ2UgT2JvbmdvIgpkYXRlOiAiYDIwMjMtMTItMDIiCm91dHB1dDogb3BlbmludHJvOjpsYWJfcmVwb3J0Ci0tLQoKKipMb2FkIHBhY2thZ2VzKioKCmBgYHtyIGxvYWQtcGFja2FnZXMsIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KG9wZW5pbnRybykKYGBgCgoqKkRhdGEqKgoKYGBge3J9CmdsaW1wc2Uoa29iZV9iYXNrZXQpCmBgYAoKIyMjIEV4ZXJjaXNlIDEKCipBIHN0cmVhayBsZW5ndGggb2YgMSBtZWFucyB0aGF0IDEgYmFza2V0IHdhcyBtYWRlIGJlZm9yZSBhIG1pc3MuIEEgc3RyZWFrIGxlbmd0aCBvZiAwIG1lYW5zIHRoYXQgbm8gYmFza2V0cyB3ZXJlIG1hZGUuKgoKYGBge3J9CmtvYmVfc3RyZWFrIDwtIGNhbGNfc3RyZWFrKGtvYmVfYmFza2V0JHNob3QpCmBgYAoKYGBge3J9CmdncGxvdChkYXRhID0ga29iZV9zdHJlYWssIGFlcyh4ID0gbGVuZ3RoKSkgKwogIGdlb21fYmFyKCkKYGBgCgojIyMgRXhlcmNpc2UgMgoKKlRoZSBkaXN0cmlidXRpb24gb2YgS29iZSdzIHN0cmVhayBsZW5ndGhzIGZyb20gdGhlIDIwMDkgTkJBIGZpbmFscyB3ZXJlIHNrZXdlZCByaWdodC4gSGUgaGFkIGEgaGlnaGVyIGZyZXF1ZW5jeSBvZiBzdHJlYWsgbGVuZ3RocyBvZiAwIGFuZCAxLiBIaXMgbG93ZXIgZnJlcXVlbmN5IG9mIHN0cmVhayBsZW5ndGhzIHdlcmUgaW4gdGhlIHJhbmdlcyBvZiAyIHRvIDQuIEhpcyB0eXBpY2FsIHN0cmVhayBsZW5ndGggd2FzIDAsIGFuZCBoaXMgbG9uZ2VzdCBzdHJlYWsgb2YgYmFza2V0cyB3YXMgNC4gQWxsIHRoaXMgY2FuIGJlIGRldGVybWluZWQgZnJvbSB0aGUgcGxvdCBmb3VuZCBhYm92ZS4qCgoqKlNpbXVsYXRpb25zIGluIFIqKgoKYGBge3J9CmNvaW5fb3V0Y29tZXMgPC0gYygiaGVhZHMiLCAidGFpbHMiKQpzYW1wbGUoY29pbl9vdXRjb21lcywgc2l6ZSA9IDEsIHJlcGxhY2UgPSBUUlVFKQpgYGAKCmBgYHtyfQpzaW1fZmFpcl9jb2luIDwtIHNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMTAwLCByZXBsYWNlID0gVFJVRSkKYGBgCgpgYGB7cn0Kc2ltX2ZhaXJfY29pbgp0YWJsZShzaW1fZmFpcl9jb2luKQpgYGAKYGBge3J9CnNldC5zZWVkKDQzMTgxMSkgICAgICAgICAgICAgICAgICMgbWFrZSBzdXJlIHRvIGNoYW5nZSB0aGUgc2VlZApgYGAKCgpgYGB7cn0Kc2ltX3VuZmFpcl9jb2luIDwtIHNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMTAwLCByZXBsYWNlID0gVFJVRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvYiA9IGMoMC4yLCAwLjgpKQpgYGAKCiMjIyBFeGVyY2lzZSAzCgoKYGBge3J9CnNpbV91bmZhaXJfY29pbgp0YWJsZShzaW1fdW5mYWlyX2NvaW4pCmBgYAoKKjI0IGZsaXBzIGNhbWUgdXAgJ2hlYWRzJy4qIAoKYGBge3J9Cj9zYW1wbGUKYGBgCgoqKlNpbXVsYXRpbmcgdGhlIEluZGVwZW5kZW50IFNob290ZXIqKgoKYGBge3J9CnNob3Rfb3V0Y29tZXMgPC0gYygiSCIsICJNIikKc2ltX2Jhc2tldCA8LSBzYW1wbGUoc2hvdF9vdXRjb21lcywgc2l6ZSA9IDEsIHJlcGxhY2UgPSBUUlVFKQpgYGAKCiMjIyBFeGVyY2lzZSA0CgoqVGhlIHNhbXBsZSBwcm9iYWJpbGl0eSBmb3IgJ0gnIHNob3VsZCBiZSBjaGFuZ2VkIHRvIDAuNDUsIGFuZCAnTScgdG8gMC42NS4qCgpgYGB7cn0Kc2hvdF9vdXRjb21lcyA8LSBjKCJIIiwgIk0iKQpzaW1fYmFza2V0IDwtIHNhbXBsZShzaG90X291dGNvbWVzLCBzaXplID0gMTMzLCByZXBsYWNlID0gVFJVRSwgcHJvYiA9IGMoMC40NSwgMC41NSkpCnNpbV9iYXNrZXQKdGFibGUoc2ltX2Jhc2tldCkKYGBgCgoK