Finalidade

Construir funções para gerar amostras das distribuições binomial e bernoulli conforme apresentado em sala.

Bernoulli

Bern(x) = 0, se 1-p; 1, se p.

bern <- function(n, p){
  u <- runif(n)
  x <- (u > 1-p) *1
  return(x)
}

#Testando a função    
bern(n=100, p = 0.8) #ou px(100
##   [1] 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1
##  [36] 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [71] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0
#Frequencia
table(bern(100, 0.8))
## 
##  0  1 
## 13 87
#frequencia relativa
table(bern(100, 0.8))/100
## 
##    0    1 
## 0.18 0.82
#Gráfico de barras
barplot(table (bern(100, 0.8)), col = rainbow(5))

Binomial

binom <- function(n,k,p)
#n: Tamanho da amostra
#k: Número de repetições
#p: Probabilidade de sucesso
    {
      X<-c(1:n)
      for (i in 1:k)
      {
        X[i]<-sum(bern(n,p))
      }
      X
    }
    

Test_binom <- binom (20, 5, 0.7)


barplot(table(Test_binom), col = rainbow(15))