/head>

Esta pantalla es muy habitual en mi televisor todos los jueves por la noche. Son los resultados de la Lotería Nacional de España, el sorteo de los jueves. Mi mujer insiste en comprar lotería para dejar de ser pobres. No es una buena opción. Aunque por lo menos ahora compramos lotería nacional. Antes jugábamos a eso de la Bonoloto, las probabilidades de que te toque son menores que la cantidad de sustancias dopantes que le encontraron al gran Alberto Contador. Eso lo entendió, pero había que jugar. ¿Y cuánto nos cuesta jugar?

Pues empecemos con el número de semanas que deseamos simular, unos 5 años, unas 250 semanas y simulemos números entre 0 y 99999 y los correspondientes premios que son:

  • 30.000 € al primer premio
  • 10.000 € al segundo premio
  • Distintos importes en función de las terminaciones
#Número de semanas que jugamos
numsimul = 250 
########################################################
# Repartimos los premios #
primer_premio =  trunc(runif(numsimul,0,99999))
segundo_premio = trunc(runif(numsimul,0,99999))
# A lo mejor se escapa algún premio
premio75.1 = trunc(runif(numsimul,0,9999))
premio75.2 = trunc(runif(numsimul,0,9999))
premio75.3 = trunc(runif(numsimul,0,9999))
#
premio15.1 = trunc(runif(numsimul,0,999))
premio15.2 = trunc(runif(numsimul,0,999))
premio15.3 = trunc(runif(numsimul,0,999))
premio15.4 = trunc(runif(numsimul,0,999))
premio15.5 = trunc(runif(numsimul,0,999))
premio15.6 = trunc(runif(numsimul,0,999))
premio15.7 = trunc(runif(numsimul,0,999))
premio15.8 = trunc(runif(numsimul,0,999))
premio15.9 = trunc(runif(numsimul,0,999))
premio15.10 = trunc(runif(numsimul,0,999))
premio15.11 = trunc(runif(numsimul,0,999))
#
premio6.1 = trunc(runif(numsimul,0,99))
premio6.2 = trunc(runif(numsimul,0,99))
premio6.3 = trunc(runif(numsimul,0,99))
#
premio3.1=trunc(primer_premio/10)
premio3.2 = trunc(runif(numsimul,0,9))
premio3.3 = trunc(runif(numsimul,0,9))

#sumary(premios)

No es un código muy “profesional” pero si ilustrativo. Para todos aquellos que tienen miedo a programar con R, también se pueden hacer “chapuzas”. No es tan difícil. Ahora que tenemos los resultados de todos los sorteos durante esos casi 5 años vamos a estudiar cuánto dinero nos ha tocado:

#La maravillosa función módulo
mod=function(x,y){(abs(x/y)%%1)*y*sign(x)}
#Este es el número que jugamos
numero = 1

Como véis juego el número 1. Necesito la función módulo para el estudio de las distintas terminaciones. En este punto, sabiendo que jugamos el número 1 analizamos nuestros premios:

#Ahora vemos si nos toca
primer_premio = ifelse(primer_premio==numero,30000,0)
segundo_premio = ifelse(primer_premio==numero,numsimul,0)
#
terminacion4 = mod(numero,10000)
premio75.1 = ifelse(premio75.1==terminacion4,75,0)
premio75.2 = ifelse(premio75.2==terminacion4,75,0)
premio75.3 = ifelse(premio75.3==terminacion4,75,0)
#
terminacion3 = mod(numero,1000)
premio15.1 = ifelse(premio15.1==terminacion3,15,0)
premio15.2 = ifelse(premio15.1==terminacion3,15,0)
premio15.3 = ifelse(premio15.1==terminacion3,15,0)
premio15.4 = ifelse(premio15.1==terminacion3,15,0)
premio15.5 = ifelse(premio15.1==terminacion3,15,0)
premio15.6 = ifelse(premio15.1==terminacion3,15,0)
premio15.7 = ifelse(premio15.1==terminacion3,15,0)
premio15.8 = ifelse(premio15.1==terminacion3,15,0)
premio15.9 = ifelse(premio15.1==terminacion3,15,0)
premio15.10 = ifelse(premio15.1==terminacion3,15,0)
premio15.11 = ifelse(premio15.1==terminacion3,15,0)
#
terminacion2 = mod(numero,100)
premio6.1 = ifelse(premio6.1==numero,6,0)
premio6.2 = ifelse(premio6.2==numero,6,0)
premio6.3 = ifelse(premio6.3==numero,6,0)
#
terminacion1 = mod(numero,10)
premio3.1 = ifelse(premio3.1==numero,3,0)
premio3.2 = ifelse(premio3.2==numero,3,0)
premio3.3 = ifelse(premio3.3==numero,3,0)
#
premios <- data.frame(cbind(primer_premio,segundo_premio,premio75.1,
premio75.2,premio75.3,premio15.1,premio15.2,premio15.3,premio15.4,
premio15.5,premio15.6,premio15.7,premio15.8,premio15.9,premio15.10,
premio15.11,premio6.1,premio6.2,premio6.3,premio3.1,premio3.2,premio3.3))
#
premios$total_semanal = primer_premio+segundo_premio+premio75.1+
premio75.2+premio75.3+premio15.1+premio15.2+premio15.3+premio15.4+
premio15.5+premio15.6+premio15.7+premio15.8+premio15.9+premio15.10+
premio15.11+premio6.1+premio6.2+premio6.3+premio3.1+premio3.2+premio3.3
#
summary(premios)
#Esto es lo que gano
sum(premios$total_semanal)/(numsimul*3)

Un código aun más chapuzante. Lo habréis ejecutado. Que triste así no me hago rico. A mi me ha salido que, de cada € que juego, pierdo unos 0,70 céntimos. Creo que este no es el camino para enriquecerme. Me voy a dedicar a la política, tampoco, soy un tipo muy íntegro. Joder, tendré que seguir trabajando…

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *