rut:19474068-9
Primera Parte: generar el dado
En esta primera parte la principal tarea que debemos realizar es generar un dado, esto significa crear un vector en el cual los elementos(n numero de elementos) son causa de generar un(o varios) numero aleatorio entre 1 y 6
para ello utilizaremos el código:
n=10
LanzamientoDado<-function(n){
dado<-sample(c(1,2,3,4,5,6),n,T)
return(dado)
}
print(LanzamientoDado(n))
Segunda parte: Comprobar cuantas veces se repite un dato
Luego de esto es necesario verificar cuantas veces se repite un dato en este vector, en este caso analizaremos el comportamiento del número 3, para ello utilizaremos la siguiente función:
Comprobar<-function(n,x){
contador=0
for (i in 1:length(x)) {
if(x[i]==n){
contador=contador+1
}
}
return(contador)
}
print(Comprobar(3,LanzamientoDado(10)))
donde n es el valor que estamos buscando, y x es el numero de lanzamientos en el cual lo buscamos.
Tercera parte: Tabular los datos
Para esto es necesario el uso de matrices, las cuales serán ordenadas para 10,100,1000 y 10000 datos
3.1 Matrices para 10 datos:
b1=Comprobar(3,LanzamientoDado(10))
c1=Comprobar(3,LanzamientoDado(10))/10
a1=c(b1,c1)
mb1<-matrix(a1,nrow = 2,byrow = F)
dimnames(mb1)<-list(c("probabilidad que salga 10 n: ","probabilidad que salga a la siguiente: "))
3.2 Matrices para 100 datos:
b2=Comprobar(3,LanzamientoDado(100))
c2=Comprobar(3,LanzamientoDado(100))/100
a2=c(b2,c2)
mb2<-matrix(a,nrow = 2,byrow = F)
dimnames(mb2)<-list(c("probabilidad que salga 100 n: ","probabilidad que salga a la siguiente: "))
3.3 Matrices para 1000 datos:
b3=Comprobar(3,LanzamientoDado(1000))
c3=Comprobar(3,LanzamientoDado(1000))/6
a3=c(b3,c3)
mb3<-matrix(a,nrow = 2,byrow = F)
dimnames(mb3)<-list(c("probabilidad que salga 1.000 n: ","probabilidad que salga a la siguiente: "))
3.4 Matrices para 10000 datos:
b4=Comprobar(3,LanzamientoDado(10000))
c4=Comprobar(3,LanzamientoDado(10000))/6
a4=c(b4,c4)
mb4<-matrix(a,nrow = 2,byrow = F)
dimnames(mb4)<-list(c("probabilidad que salga 10.000 n: ","probabilidad que salga a la siguiente: "))
Cuarta parte:
Gráfico1
Tenemos dos opciones, Graficar la frecuencia de los datos para estudiar la tendencia de esta y su probabilidad en n, lo cual quedaría en el código:
frecuencia<-function(x,y){ #parametros x= n a buscar ;y=numero de lanzamientos
aux<-c(rep(0:y))
for (i in 1:y) {
aux[i]=1/6*((aux[i]+Comprobar(x,i))/i)
if(i>y){
aux[i+1]=aux[i]
}
}
return(aux)
}
ejex<-seq(10,10000,by=10)
ejey<-c(frecuencia(3,999))
plot(ejex,ejey,type = "l")
abline(h = 1/6,col="blue")
Grafico2
La segunda opción es graficar los datos y la probabilidad de que el siguiente sea el mismo, para lo cual utilizaremos el siguiente codigo:
Probabilidad<-function(x,y){
aux<-c(rep(0:y))
for (i in 1:y) {
aux[i]=10((aux[i]+Comprobar(x,i))/10*i)
if(i>y){
aux[i+1]=aux[i]
}
}
return(aux)
}
ejex<-seq(10,10000,by=10)
ejey<-c(probabilidad(3,999))
plot(ejex,ejey,type = "l")
abline(h = 0,col="red")
Al Graficarlos y ejecutarlos queda: