library(tidyverse)
library(openintro)
kobe_basket
## # A tibble: 133 × 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 Fish… H    
##  5 ORL       1 1       7:03  Kobe Bryant makes driving layup               H    
##  6 ORL       1 1       6:01  Kobe Bryant misses jumper                     M    
##  7 ORL       1 1       4:07  Kobe Bryant misses 12-foot jumper             M    
##  8 ORL       1 1       0:52  Kobe Bryant misses 19-foot jumper             M    
##  9 ORL       1 1       0:00  Kobe Bryant misses layup                      M    
## 10 ORL       1 2       6:35  Kobe Bryant makes jumper                      H    
## # … with 123 more rows
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: 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 is defined as the number of consecutive baskets until a streak occurs. So, in a streak of 1 there is one basket before he misses. If the streak is 0, he only missed. If the streak is 2, he made 2 baskets before he misses. Each streak, regardless of length, has only 1 miss.

kobe_streak <- calc_streak(kobe_basket$shot)
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.

Based on the plot above, the majority of Kobe’s streaks were of zero baskets- this is his “typical” streak length. The next longest was a streak of 1. As the number of baskets increases, the frequency/count of the streaks decreases. This is a right-skewed distribution, as the majority of the data is on the left and the tail goes toward the right. His longest streak of baskets was 4, though that only happened once, maybe twice.

coin_outcomes <- c("heads", "tails")
sample(coin_outcomes, size = 1, replace = TRUE)
## [1] "heads"
sample(coin_outcomes, size = 1, replace = TRUE)
## [1] "heads"
sample(coin_outcomes, size = 1, replace = TRUE)
## [1] "tails"
sample(coin_outcomes, size = 1, replace = TRUE)
## [1] "tails"
sample(coin_outcomes, size = 1, replace = TRUE)
## [1] "heads"
sim_fair_coin <- sample(coin_outcomes, size = 100, replace = TRUE)
sim_fair_coin
##   [1] "heads" "heads" "heads" "tails" "heads" "heads" "tails" "tails" "tails"
##  [10] "tails" "tails" "heads" "heads" "heads" "heads" "tails" "heads" "heads"
##  [19] "tails" "tails" "heads" "heads" "tails" "heads" "tails" "heads" "heads"
##  [28] "heads" "heads" "heads" "heads" "heads" "heads" "tails" "heads" "tails"
##  [37] "tails" "tails" "heads" "tails" "heads" "heads" "heads" "heads" "heads"
##  [46] "heads" "tails" "tails" "heads" "tails" "tails" "heads" "tails" "heads"
##  [55] "heads" "tails" "tails" "tails" "tails" "tails" "tails" "heads" "heads"
##  [64] "heads" "heads" "tails" "tails" "tails" "tails" "heads" "tails" "heads"
##  [73] "tails" "heads" "tails" "tails" "tails" "heads" "tails" "tails" "tails"
##  [82] "tails" "heads" "heads" "heads" "tails" "heads" "tails" "heads" "heads"
##  [91] "tails" "tails" "heads" "tails" "tails" "heads" "heads" "heads" "heads"
## [100] "heads"
table(sim_fair_coin)
## sim_fair_coin
## heads tails 
##    54    46
set.seed(1116) 
sim_unfair_coin <- sample(coin_outcomes, size = 100, replace = TRUE, 
                          prob = c(0.2, 0.8))
table(sim_unfair_coin)
## sim_unfair_coin
## heads tails 
##    18    82

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.

When the unfair coin was flipped 100 times using code sim_unfair_coin <- sample(coin_outcomes, size = 100, replace = TRUE, prob = c(0.2, 0.8)), and table(sim_unfair_coin), heads came up 18 times.

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.

I changed the size outcome to 133, and replace 0.2 and 0.8 with 0.45 and 0.55, respectively.

sim_basket <- sample(shot_outcomes, size = 133, replace = TRUE, prob = c(0.45, 0.55))
table (sim_basket)
## sim_basket
##  H  M 
## 61 72
LS0tCnRpdGxlOiAiTGFiIDMiCmF1dGhvcjogIktpbSBLZW5kYWwiCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OiBvcGVuaW50cm86OmxhYl9yZXBvcnQKLS0tCgpgYGB7ciBsb2FkLXBhY2thZ2VzLCBtZXNzYWdlPUZBTFNFfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShvcGVuaW50cm8pCmBgYAoKCmBgYHtyfQprb2JlX2Jhc2tldApgYGAKCmBgYHtyfQpnbGltcHNlKGtvYmVfYmFza2V0KQpgYGAKCiMjIyBFeGVyY2lzZSAxOiBXaGF0IGRvZXMgYSBzdHJlYWsgbGVuZ3RoIG9mIDEgbWVhbiwgaS5lLiBob3cgbWFueSBoaXRzIGFuZCBtaXNzZXMgYXJlIGluIGEgc3RyZWFrIG9mIDE/IFdoYXQgYWJvdXQgYSBzdHJlYWsgbGVuZ3RoIG9mIDA/CgoqQSBzdHJlYWsgaXMgZGVmaW5lZCBhcyB0aGUgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGJhc2tldHMgdW50aWwgYSBzdHJlYWsgb2NjdXJzLiBTbywgaW4gYSBzdHJlYWsgb2YgMSB0aGVyZSBpcyBvbmUgYmFza2V0IGJlZm9yZSBoZSBtaXNzZXMuIElmIHRoZSBzdHJlYWsgaXMgMCwgaGUgb25seSBtaXNzZWQuIElmIHRoZSBzdHJlYWsgaXMgMiwgaGUgbWFkZSAyIGJhc2tldHMgYmVmb3JlIGhlIG1pc3Nlcy4gRWFjaCBzdHJlYWssIHJlZ2FyZGxlc3Mgb2YgbGVuZ3RoLCBoYXMgb25seSAxIG1pc3MuKgoKYGBge3J9CmtvYmVfc3RyZWFrIDwtIGNhbGNfc3RyZWFrKGtvYmVfYmFza2V0JHNob3QpCmBgYAoKYGBge3J9CmdncGxvdChkYXRhID0ga29iZV9zdHJlYWssIGFlcyh4ID0gbGVuZ3RoKSkgKwogIGdlb21fYmFyKCkKYGBgCgoKIyMjIEV4ZXJjaXNlIDI6IERlc2NyaWJlIHRoZSBkaXN0cmlidXRpb24gb2YgS29iZeKAmXMgc3RyZWFrIGxlbmd0aHMgZnJvbSB0aGUgMjAwOSBOQkEgZmluYWxzLiBXaGF0IHdhcyBoaXMgdHlwaWNhbCBzdHJlYWsgbGVuZ3RoPyBIb3cgbG9uZyB3YXMgaGlzIGxvbmdlc3Qgc3RyZWFrIG9mIGJhc2tldHM/IE1ha2Ugc3VyZSB0byBpbmNsdWRlIHRoZSBhY2NvbXBhbnlpbmcgcGxvdCBpbiB5b3VyIGFuc3dlci4KCipCYXNlZCBvbiB0aGUgcGxvdCBhYm92ZSwgdGhlIG1ham9yaXR5IG9mIEtvYmUncyBzdHJlYWtzIHdlcmUgb2YgemVybyBiYXNrZXRzLSB0aGlzIGlzIGhpcyAidHlwaWNhbCIgc3RyZWFrIGxlbmd0aC4gVGhlIG5leHQgbG9uZ2VzdCB3YXMgYSBzdHJlYWsgb2YgMS4gQXMgdGhlIG51bWJlciBvZiBiYXNrZXRzIGluY3JlYXNlcywgdGhlIGZyZXF1ZW5jeS9jb3VudCBvZiB0aGUgc3RyZWFrcyBkZWNyZWFzZXMuIFRoaXMgaXMgYSByaWdodC1za2V3ZWQgZGlzdHJpYnV0aW9uLCBhcyB0aGUgbWFqb3JpdHkgb2YgdGhlIGRhdGEgaXMgb24gdGhlIGxlZnQgYW5kIHRoZSB0YWlsIGdvZXMgdG93YXJkIHRoZSByaWdodC4gSGlzIGxvbmdlc3Qgc3RyZWFrIG9mIGJhc2tldHMgd2FzIDQsIHRob3VnaCB0aGF0IG9ubHkgaGFwcGVuZWQgb25jZSwgbWF5YmUgdHdpY2UuKiAKCgpgYGB7cn0KY29pbl9vdXRjb21lcyA8LSBjKCJoZWFkcyIsICJ0YWlscyIpCnNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMSwgcmVwbGFjZSA9IFRSVUUpCmBgYAoKYGBge3J9CnNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMSwgcmVwbGFjZSA9IFRSVUUpCmBgYAoKYGBge3J9CnNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMSwgcmVwbGFjZSA9IFRSVUUpCmBgYAoKYGBge3J9CnNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMSwgcmVwbGFjZSA9IFRSVUUpCmBgYAoKYGBge3J9CnNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMSwgcmVwbGFjZSA9IFRSVUUpCmBgYAoKCmBgYHtyfQpzaW1fZmFpcl9jb2luIDwtIHNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMTAwLCByZXBsYWNlID0gVFJVRSkKYGBgCgpgYGB7cn0Kc2ltX2ZhaXJfY29pbgp0YWJsZShzaW1fZmFpcl9jb2luKQpgYGAKCmBgYHtyfQpzZXQuc2VlZCgxMTE2KSAKc2ltX3VuZmFpcl9jb2luIDwtIHNhbXBsZShjb2luX291dGNvbWVzLCBzaXplID0gMTAwLCByZXBsYWNlID0gVFJVRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvYiA9IGMoMC4yLCAwLjgpKQp0YWJsZShzaW1fdW5mYWlyX2NvaW4pCmBgYAoKIyMjIEV4ZXJjaXNlIDM6IEluIHlvdXIgc2ltdWxhdGlvbiBvZiBmbGlwcGluZyB0aGUgdW5mYWlyIGNvaW4gMTAwIHRpbWVzLCBob3cgbWFueSBmbGlwcyBjYW1lIHVwIGhlYWRzPyBJbmNsdWRlIHRoZSBjb2RlIGZvciBzYW1wbGluZyB0aGUgdW5mYWlyIGNvaW4gaW4geW91ciByZXNwb25zZS4gCipXaGVuIHRoZSB1bmZhaXIgY29pbiB3YXMgZmxpcHBlZCAxMDAgdGltZXMgdXNpbmcgY29kZSBzaW1fdW5mYWlyX2NvaW4gPC0gc2FtcGxlKGNvaW5fb3V0Y29tZXMsIHNpemUgPSAxMDAsIHJlcGxhY2UgPSBUUlVFLCBwcm9iID0gYygwLjIsIDAuOCkpLCBhbmQgdGFibGUoc2ltX3VuZmFpcl9jb2luKSwgaGVhZHMgY2FtZSB1cCAxOCB0aW1lcy4qCgoKYGBge3J9CnNob3Rfb3V0Y29tZXMgPC0gYygiSCIsICJNIikKc2ltX2Jhc2tldCA8LSBzYW1wbGUoc2hvdF9vdXRjb21lcywgc2l6ZSA9IDEsIHJlcGxhY2UgPSBUUlVFKQpgYGAKCiMjIyBFeGVyY2lzZSA0OiBXaGF0IGNoYW5nZSBuZWVkcyB0byBiZSBtYWRlIHRvIHRoZSBzYW1wbGUgZnVuY3Rpb24gc28gdGhhdCBpdCByZWZsZWN0cyBhIHNob290aW5nIHBlcmNlbnRhZ2Ugb2YgNDUlPyBNYWtlIHRoaXMgYWRqdXN0bWVudCwgdGhlbiBydW4gYSBzaW11bGF0aW9uIHRvIHNhbXBsZSAxMzMgc2hvdHMuIEFzc2lnbiB0aGUgb3V0cHV0IG9mIHRoaXMgc2ltdWxhdGlvbiB0byBhIG5ldyBvYmplY3QgY2FsbGVkIHNpbV9iYXNrZXQuCipJIGNoYW5nZWQgdGhlIHNpemUgb3V0Y29tZSB0byAxMzMsIGFuZCByZXBsYWNlIDAuMiBhbmQgMC44IHdpdGggMC40NSBhbmQgMC41NSwgcmVzcGVjdGl2ZWx5LioKCmBgYHtyfQpzaW1fYmFza2V0IDwtIHNhbXBsZShzaG90X291dGNvbWVzLCBzaXplID0gMTMzLCByZXBsYWNlID0gVFJVRSwgcHJvYiA9IGMoMC40NSwgMC41NSkpCnRhYmxlIChzaW1fYmFza2V0KQpgYGAKCgo=