# Basic Probability Review
# Example01
choose(6, 3) * choose(9, 2) / choose(15, 5)
## [1] 0.2397602
# Example02
lanzamientos_10 <- sample(c("A", "S"), 8, replace = TRUE)
lanzamientos_10
## [1] "S" "S" "S" "A" "A" "S" "S" "A"
# Example03
cumsum(lanzamientos_10 == "A")
## [1] 0 0 0 1 2 2 2 3
round(cumsum(lanzamientos_10 == "A") / 1:10, 2)
## Warning in cumsum(lanzamientos_10 == "A")/1:10: longitud de objeto mayor no es
## múltiplo de la longitud de uno menor
##  [1] 0.00 0.00 0.00 0.25 0.40 0.33 0.29 0.38 0.00 0.00
# ExampleGeneral
lanzar <- function(n = 1000){
  lanzamientos <- sample(c("A", "S"), n, replace = TRUE)
  frec_rel <- cumsum(lanzamientos == "A") / 1:n
  data.frame(lanzamiento = 1:n, frecuencia_relativa = frec_rel)
}
head(lanzar())
##   lanzamiento frecuencia_relativa
## 1           1           0.0000000
## 2           2           0.0000000
## 3           3           0.3333333
## 4           4           0.5000000
## 5           5           0.6000000
## 6           6           0.6666667
tail(lanzar())
##      lanzamiento frecuencia_relativa
## 995          995           0.4844221
## 996          996           0.4849398
## 997          997           0.4844534
## 998          998           0.4839679
## 999          999           0.4834835
## 1000        1000           0.4830000
library(plyr)
lanzamientos_3 <- rdply(3, lanzar)
head(lanzamientos_3)
##   .n lanzamiento frecuencia_relativa
## 1  1           1           0.0000000
## 2  1           2           0.5000000
## 3  1           3           0.6666667
## 4  1           4           0.7500000
## 5  1           5           0.6000000
## 6  1           6           0.5000000
# GameDownfall
apostar <- function(dinero = 100, apuesta = 5, tope = 200){
  while(0 < dinero & dinero < tope){
    if(runif(1) < 0.47){
      dinero <- dinero + apuesta
    } 
    else{
      dinero <- dinero - apuesta
    }
  }
  dinero > 0
}
juegos <- rdply(2000, apostar())
sum(juegos$V1) / 2000
## [1] 0.0855
juegos <- rdply(5000, apostar(apuesta = 50))
sum(juegos$V1) / 5000
## [1] 0.4352