GENERACION DE NUMEROS ALEATORIOS BINOMIALES

Se lanza una moneda n veces, prob = P(cara)

P(X=i)=choose(n,i)probi(1-prob)n-i

X(va): Número de caras

nsim: número de simulaciones

> 
> 
> genbin <- function(n, prob, nsim) {
+     x <- numeric(nsim)
+     for (j in 1:nsim) {
+         u <- runif(1)
+         i <- 0
+         p <- (1 - prob)^n  # P(X=0)
+         a <- p
+         while (u >= a) {
+             p <- prob * (n - i)/((1 - prob) * (i + 1)) * p
+             a <- a + p
+             i <- i + 1
+         }
+         x[j] <- i
+     }
+     return(x)
+ }
> 
> y <- genbin(20, 0.5, 1000)
> table(y)
## y
##   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18 
##   6  12  34  61 133 153 199 155 112  63  45  21   4   1   1
> hist(y, col = "purple", freq = FALSE, main = " Aleatorios binomiales", ylab = "Densidad")

plot of chunk unnamed-chunk-1