Skip to content

Instantly share code, notes, and snippets.

@fernandobarbalho
Last active September 30, 2024 14:02
Show Gist options
  • Save fernandobarbalho/1bcd02d5b292aa94dd3aad2ec53c914f to your computer and use it in GitHub Desktop.
Save fernandobarbalho/1bcd02d5b292aa94dd3aad2ec53c914f to your computer and use it in GitHub Desktop.
Gera simulações para a situação de apostas esportivas por pessoas que recebem bolsa família
#Simulação Toledo
gasto_primeira_mediana<- 2.5e6 * 100
gasto_segunda_mediana_ate_2499000 <- 2499000 *681
gasto_valores_pico<- 3e9 - (gasto_primeira_mediana + gasto_segunda_mediana_ate_2499000 )
aposta_unitaria<- gasto_valores_pico / 1000
media_simulacao<- (gasto_primeira_mediana + gasto_segunda_mediana_ate_2499000 + gasto_valores_pico)/5e6
print(media_simulacao)
valores_mediana_inferior<- rep(100,2.5e6)
valores_mediana_superior_ate_2499<-rep(681,2499000)
valores_superiores<- rep(1048181, 1000)
boxplot(c(valores_mediana_inferior, valores_mediana_superior_ate_2499, valores_superiores ))
#Simulação variando os parâmetros da segunda mediana
# Instalar a biblioteca se não tiver instalada
# install.packages("truncnorm")
# Carregar a biblioteca truncnorm
library(truncnorm)
set.seed(123) # Para reprodutibilidade
# Parâmetros
n <- 2499000
media_desejada <- 600
sd_desejado <- 20 # Ajustar o desvio padrão para controlar a dispersão
minimo <- 100
maximo <- 680
# Gerar uma distribuição normal truncada
valores <- rtruncnorm(n, a = minimo, b = maximo, mean = media_desejada, sd = sd_desejado)
# Verificar a média e o intervalo resultantes
mean(valores) # Aproximadamente 600
min(valores) # Aproximadamente 100
max(valores) # Aproximadamente 680
# Exibindo um sumário dos dados
summary(valores)
gasto_primeira_mediana<- 2.5e6 * 100
gasto_segunda_mediana_ate_2499000 <- sum(valores)
gasto_valores_pico<- 3e9 - (gasto_primeira_mediana + gasto_segunda_mediana_ate_2499000 )
aposta_unitaria<- gasto_valores_pico / 1000
print(aposta_unitaria)
media_simulacao<- (gasto_primeira_mediana + gasto_segunda_mediana_ate_2499000 + gasto_valores_pico)/5e6
print(media_simulacao)
valores_mediana_inferior<- rep(100,2.5e6)
valores_mediana_superior_ate_2499<-valores
valores_superiores<- rep(aposta_unitaria, 1000)
boxplot(c(valores_mediana_inferior, valores_mediana_superior_ate_2499, valores_superiores ))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment