ambo <- function(giocata,estrazioni,puntata) { o1 <- 0 o2 <- c() o3 <- c() o4 <- c() for(i1 in 1:length(estrazioni[,1])) { v <- c() for(i2 in 1:length(giocata[,1])) { n <- 0 for(i3 in 1:length(giocata[1,])) for(i4 in 1:length(estrazioni[1,])) if(giocata[i2,i3]==estrazioni[i1,i4]) n <- n+1 v <- c(v,n) } t<-0 for(i5 in 2:length(estrazioni[1,])) t <- t + puntata * 250 * (i5*(i5-1)/2) * sum(as.numeric(v==i5)) / (length(giocata[1,]) * (length(giocata[1,])-1) / 2) o1 <- o1 + (-puntata)*length(giocata[,1]) + t o2 <- c(o2, t) o3 <- c(o3, o1) o4 <- c(o4, sum(as.numeric(v==2)) + 3*sum(as.numeric(v==3)) + 6*sum(as.numeric(v==4)) + 10*sum(as.numeric(v==5)) ) #bilancio <- bilancio + (-puntata)*length(giocata[,1]) + puntata * 16.6 * sum(as.numeric(v==2)) } list(bilancio=o1, estrazioni=length(estrazioni[,1]), vincita=o2, andamento=o3, ambi=o4) } sistema_random <- function(sistema) { t<-c() for(i in 1:length(sistema[,1])) t<-c(t,sample(1:90,length(sistema[1,]),replace=F)) t(matrix(t,nc=length(sistema[,1]))) } #Il file storico.txt puņ essere scaricato da qui: #http://www.lottomaticaitalia.it/lotto/doc/archivio/storico.zip db<-read.table("storico.txt", header = F, sep = "\t") db$anno<-substr(db$V1,0,4) db$ruota<-db$V2 sistemaA<-t(matrix(c(4,2,6,11,9,13,4,1,5,11,8,12,4,3,7,11,10,14,2,1,3,9,8,10,5,2,7,12,9,14,6,1,7,13,8,14,5,3,6,12,10,13),nc=7)) bilancio<-0 giocata<-sistemaA t<-subset(db,db$ruota=="RM" & db$anno>1982) estrazioni<-matrix(c(t$V3,t$V4,t$V5,t$V6,t$V7),nc=5) a<-ambo(giocata, estrazioni, 1000) b<-c() jpeg(paste("Roma1983-2013.jpg",sep=""),width=600,height=400,units="px", quality=100,antialias="cleartype") par(oma=c(0,0,0,0), mar=c(0,0,0,0)) plot( c(0,a$estrazioni,0,a$estrazioni),c(min(0,bilancio+min(a$andamento)),min(0,bilancio+min(a$andamento)),bilancio+max(0,a$andamento),bilancio+max(0,a$andamento)),type="n",axes=F,lwd=4,col="darkred",xlab="",ylab="",main=paste("",sep="")) for(i in 1:20) { a2<-ambo(sistema_random(giocata), estrazioni, 1000) b<-c(b,a2$vincita) points(a2$andamento,type="l",col="gray") } points(c(bilancio,a$andamento+bilancio),type="l",lwd=1,col="darkred") axis(2, at = c(min(0,bilancio+min(a$andamento)),bilancio+max(a$andamento)), lwd=2, pos=0, labels=F) axis(1, at = c(0,a$estrazioni*2), pos=0, lwd=2, labels=F) bilancio<-bilancio+a$bilancio segments(0,bilancio,a$estrazioni,bilancio,lty=2) text(200,bilancio,round(bilancio),adj=0,pos=3) dev.off() t.test(a$vincita,b) bilancio<-0 giocata<-sistemaA t<-subset(db,db$ruota=="TO" & db$anno>1982) estrazioni<-matrix(c(t$V3,t$V4,t$V5,t$V6,t$V7),nc=5) a<-ambo(giocata, estrazioni, 1000) b<-c() jpeg(paste("Torino1983-2013.jpg",sep=""),width=600,height=400,units="px", quality=100,antialias="cleartype") par(oma=c(0,0,0,0), mar=c(0,0,0,0)) plot( c(0,a$estrazioni,0,a$estrazioni),c(min(0,bilancio+min(a$andamento)),min(0,bilancio+min(a$andamento)),bilancio+max(0,a$andamento),bilancio+max(0,a$andamento)),type="n",axes=F,lwd=4,col="darkred",xlab="",ylab="",main=paste("",sep="")) for(i in 1:20) { a2<-ambo(sistema_random(giocata), estrazioni, 1000) b<-c(b,a2$vincita) points(a2$andamento,type="l",col="gray") } points(c(bilancio,a$andamento+bilancio),type="l",lwd=1,col="darkred") axis(2, at = c(min(0,bilancio+min(a$andamento)),bilancio+max(a$andamento)), lwd=2, pos=0, labels=F) axis(1, at = c(0,a$estrazioni*2), pos=0, lwd=2, labels=F) bilancio<-bilancio+a$bilancio segments(0,bilancio,a$estrazioni,bilancio,lty=2) text(200,bilancio,round(bilancio),adj=0,pos=3) dev.off() t.test(a$vincita,b) sistemaB<-t(matrix(c(1,2,8,9,1,3,8,10,1,4,8,11,1,5,8,12,1,6,8,13,1,7,8,14,2,3,9,10,2,4,9,11,2,5,9,12,2,6,9,13,2,7,9,14,3,4,10,11,3,5,10,12,3,6,10,13,3,7,10,14,4,5,11,12,4,6,11,13),nc=17)) sistemaC<-t(matrix(c(4,2,11,9,4,6,11,13,2,6,9,13,4,1,11,8,4,5,11,12,1,5,8,12,4,3,11,10,4,7,11,14,3,7,10,14,2,1,9,8,2,3,9,10,1,3,8,10,5,2,12,9,5,7,12,14,2,7,9,14,6,1,13,8,6,7,13,14,1,7,8,14,5,3,12,10,5,6,12,13,3,6,10,13),nc=21)) sistemaD<-t(matrix(c(7,5,3,2,4,6,1,4,6,2,8,10,12,14,4,5,1,9,10,13,14,4,7,3,8,9,12,13,2,3,1,11,12,13,14,5,7,2,8,10,11,13,6,7,1,9,10,11,12,5,6,3,8,9,11,14),nc=8)) t<-subset(db,db$ruota=="RM" & db$anno>1982) estrazioni<-matrix(c(t$V3,t$V4,t$V5,t$V6,t$V7),nc=5) a<-ambo(sistemaA, estrazioni, 1000) b<-ambo(sistemaB, estrazioni, 1000) c<-ambo(sistemaC, estrazioni, 1000) d<-ambo(sistemaD, estrazioni, 1000) c(mean(a$vincita)-7000,mean(b$vincita)-21000,mean(c$vincita)-21000,mean(d$vincita)-7000) bilancio<-0 giocata<-sistemaC t<-subset(db,db$ruota=="RM" & db$anno>1982) estrazioni<-matrix(c(t$V3,t$V4,t$V5,t$V6,t$V7),nc=5) a<-ambo(giocata, estrazioni, 1000) b<-c() jpeg(paste("Roma1983-2013(C).jpg",sep=""),width=600,height=400,units="px", quality=100,antialias="cleartype") par(oma=c(0,0,0,0), mar=c(0,0,0,0)) plot( c(0,a$estrazioni,0,a$estrazioni),c(min(0,bilancio+min(a$andamento)),min(0,bilancio+min(a$andamento)),bilancio+max(0,a$andamento),bilancio+max(0,a$andamento)),type="n",axes=F,lwd=4,col="darkred",xlab="",ylab="",main=paste("",sep="")) for(i in 1:20) { a2<-ambo(sistema_random(giocata), estrazioni, 1000) b<-c(b,a2$vincita) points(a2$andamento,type="l",col="gray") } points(c(bilancio,a$andamento+bilancio),type="l",lwd=1,col="darkred") axis(2, at = c(min(0,bilancio+min(a$andamento)),bilancio+max(a$andamento)), lwd=2, pos=0, labels=F) axis(1, at = c(0,a$estrazioni*2), pos=0, lwd=2, labels=F) bilancio<-bilancio+a$bilancio segments(0,bilancio,a$estrazioni,bilancio,lty=2) text(200,bilancio,round(bilancio),adj=0,pos=3) dev.off() t.test(a$vincita,b) sistemaSTUPIDO<-matrix(c(rep(1,21),rep(2,21),rep(3,21),rep(4,21)),nc=4) bilancio<-0 t<-subset(db,db$ruota=="RM" & db$anno>1982) estrazioni<-matrix(c(t$V3,t$V4,t$V5,t$V6,t$V7),nc=5) a<-ambo(sistemaC, estrazioni, 1000) jpeg(paste("Roma1983-2013(Stupido).jpg",sep=""),width=600,height=400,units="px", quality=100,antialias="cleartype") par(oma=c(0,0,0,0), mar=c(0,0,0,0)) plot( c(0,a$estrazioni,0,a$estrazioni),c(min(0,bilancio+min(a$andamento)),min(0,bilancio+min(a$andamento)),bilancio+max(0,a$andamento),bilancio+max(0,a$andamento)),type="n",axes=F,lwd=4,col="darkred",xlab="",ylab="",main=paste("",sep="")) b<-ambo(sistemaSTUPIDO, estrazioni, 1000) points(b$andamento,type="l",col="darkblue") points(c(bilancio,a$andamento+bilancio),type="l",lwd=1,col="darkred") axis(2, at = c(min(0,bilancio+min(a$andamento)),bilancio+max(a$andamento)), lwd=2, pos=0, labels=F) axis(1, at = c(0,a$estrazioni*2), pos=0, lwd=2, labels=F) bilancio<-bilancio+a$bilancio segments(0,bilancio,a$estrazioni,bilancio,lty=2) text(200,bilancio,round(bilancio),adj=0,pos=3) dev.off() t.test(a$vincita,b$vincita) sistemaRITARDI<-t(matrix(c(1,77,5,76,4,80,13,15,12,14,21,23,25,22,24,76,12,22,7,17,4,14,24,9,19,1,13,25,7,19,77,15,22,9,16,5,8,79,7,9,16,18,20,17,19,1,80,21,78,16,77,13,23,8,18,5,15,25,79,20,76,8,21,20,14,4,80,23,79,17,5,12,24,78,18,76,80,25,9,18,4,13,22,78,20,1,17,23,9,20,77,14,25,78,17,5,80,22,8,19,76,15,23,78,19,4,17,24,8,16,1,15,24,8,17,77,17,21,79,19,5,14,23,7,16,76,13,24,79,16,4,15,21,7,18,1,14,22,79,18,77,80,24,7,20,5,13,21,9,17,26,28,30,27,29,36,38,40,81,39,46,48,50,47,49,27,81,47,32,42,29,39,49,34,44,26,38,50,32,44,28,40,47,34,82,30,33,35,32,34,82,43,45,42,44,26,36,46,31,82,28,38,48,33,43,30,40,50,35,45,27,33,46,45,39,29,36,48,35,42,30,81,49,31,43,27,36,50,34,43,29,38,47,31,45,26,42,48,34,45,28,39,50,31,42,30,36,47,33,44,27,40,48,31,44,29,42,49,33,82,26,40,49,33,42,28,42,46,35,44,30,39,48,32,82,27,38,49,35,82,29,40,46,32,43,26,39,47,35,43,28,36,49,32,45,30,38,46,34,42,83,53,55,84,54,61,85,65,62,64,71,73,75,72,74,84,62,72,57,89,54,64,74,59,69,83,85,75,57,69,53,65,72,59,86,55,58,60,57,59,86,90,70,89,69,83,61,71,56,86,53,85,73,58,90,55,65,75,60,70,84,58,71,70,64,54,61,73,60,89,55,62,74,56,90,84,61,75,59,90,54,85,72,56,70,83,89,73,59,70,53,64,75,56,89,55,61,72,58,69,84,65,73,56,69,54,89,74,58,86,83,65,74,58,89,53,89,71,60,69,55,64,73,57,86,84,85,74,60,86,54,65,71,57,90,83,64,72,60,90,53,61,74,57,70,55,85,71,59,89),nc=90)) bilancio<-0 giocata<-sistemaRITARDI t<-subset(db,db$ruota=="RM" & db$anno>1982) estrazioni<-matrix(c(t$V3,t$V4,t$V5,t$V6,t$V7),nc=5) a<-ambo(giocata, estrazioni, 1000) b<-c() jpeg(paste("Roma1983-2013(Ritardi).jpg",sep=""),width=600,height=400,units="px", quality=100,antialias="cleartype") par(oma=c(0,0,0,0), mar=c(0,0,0,0)) plot( c(0,a$estrazioni,0,a$estrazioni),c(min(0,bilancio+min(a$andamento)),min(0,bilancio+min(a$andamento)),bilancio+max(0,a$andamento),bilancio+max(0,a$andamento)),type="n",axes=F,lwd=4,col="darkred",xlab="",ylab="",main=paste("",sep="")) for(i in 1:20) { a2<-ambo(sistema_random(giocata), estrazioni, 1000) b<-c(b,a2$vincita) points(a2$andamento,type="l",col="gray") } points(c(bilancio,a$andamento+bilancio),type="l",lwd=1,col="darkred") axis(2, at = c(min(0,bilancio+min(a$andamento)),bilancio+max(a$andamento)), lwd=2, pos=0, labels=F) axis(1, at = c(0,a$estrazioni*2), pos=0, lwd=2, labels=F) bilancio<-bilancio+a$bilancio segments(0,bilancio,a$estrazioni,bilancio,lty=2) text(200,bilancio,round(bilancio),adj=0,pos=3) dev.off() t.test(a$vincita,b)