Construir funções para gerar amostras das distribuições binomial e bernoulli conforme apresentado em sala.
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))
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))