Para este ejercicio, basta con sumar todos los elementos de la lista de variaciones para obtener el precio final
r1<-sum(lista)
El resultado es 439.
historico<-function(info){
a<-c(info[1])
b<-TRUE
i<-1
k<-1
while (b==TRUE){
a[i+1]<-a[i]+lista[k+1]
if(sum(a==a[i+1])==2){b=FALSE}
b
i<-i+1
k<-k+1
if(k==length(lista)){k=0}
}
return(a[length(a)])
}
r2<-historico(lista)
Se crea una función llamada historico() que sumará el vector de variaciones hasta que en el vector de precios se repitan dos valores.
El primer precio repetido es 124645.
n<-1000
a<-c()
k<-1
for(i in 1:(n-1)){
if(i%%3==0 | i%%5==0){
a[k]<-i
k<-k+1
}
}
r3<-sum(a)
El resultado es 233168.
Creamos una función fibo que encuentre todos los números menores a \(n\).
fibo <- function(n){ #Esta es una funcion que regresa todos los numeros de la serie de Fibonacci
#que sean menores a n
a<-c()
a[1:2]<-1
b<-TRUE
i<-3
while (b==TRUE) {
r<-a[i-2]+a[i-1]
if(r<n){
a[i]<-r
i<-i+1}
else{b<-FALSE}
b
}
return(a)
}
Ahora, usamos la función, la evaluamos en \(1000000000\) y aplicamos un for para poder ver cuantos pares y cuantos impares hay y poder hacer la proporción
fiboF<-fibo(1000000000)
x<-c()
y<-c()
x_i<-1
y_i<-1
for (i in 1:length(fiboF)) {
if(fiboF[i]%%2==1){
x[x_i]<-fiboF[i]
x_i<-x_i+1
}
else{
y[y_i]<-fiboF[i]
y_i<-y_i+1
}
}
r4<-sum(x)/sum(y)
Lo que nos da como resultado 4.236068.
primos <- function(n) {
if (n >= 2) {
x = seq(2, n)
prime_nums = c()
for (i in seq(2, n)) {
if (any(x == i)) {
prime_nums = c(prime_nums, i)
x = c(x[(x %% i) != 0], i)
}
}
return(prime_nums)
}
}
z<-c()
for (i in 1:100){
z[i]<-length(primos(10*i))/(10*i)
}
ggplot(data.frame(x=seq(10,1000,10),y=z),aes(x, y))+
geom_line(aes(color = x))+scale_color_viridis(option = "magma")+
geom_point()+transition_reveal(x)
x<-rnorm(1000)
y<-x^2
p<-round(cor(x,y))
ggplot(data.frame(x=x,y=y), aes(x,y))+geom_point()
Viendo la gráfica podemos notar que los datos no son independientes y \(\rho_{X,Y}=\) 0, por lo que acabamos de dar un contraejemplo para este caso.
numero de juegos, dinero inicial, costo del juego, apuesta del juego y que devuelva una lista con:Explore y explique las siguientes combinaciones para dinero inicial, costo del juego, apuesta del juego: \((10,10,10)\), \((10,2,5)\), \((100,10,20)\), \((1000,5,10)\). Explique.
juego3dados<-function(n){
g<-c()
g_a<-0
for (i in 1:(n-1)) {
d<-sample(6,3,replace = TRUE)
s<-sum(d==6) #cuantos seis salieron
g[i]<-(s*20)-10 #ganancia
g_a[i+1]<-g_a[i]+g[i]
}
results<-data.frame(tiempo=1:n,ganancia=g_a)
return(results)
}
Esta función es para el juego descrito arriba: con un costo del juego de 10 pesos, ganancia de 20 pesos y se lanzan 3 dados. El único parámetro que la función te pide es cuantas veces vas a jugar. Como dinero inicial estamos considerando cero, esto para ver cual sería la ganancia o pérdida final. Usando esta función podemos obtener la media y la varianza para diferentes \(n\) y así poder poder analizar si se gana o se pierde.
Acontinuación podemos ver una tabla con las medias y varianzas de jugar 100, 1000 y 10000 veces.
## juegos media varianza
## 1 100 -115.400 3685.697
## 2 1000 67.140 33629.850
## 3 10000 -393.058 82234.592
juego<-function(n,d_i,c,a){
g<-c()
g_a<-d_i
for (i in 1:(n-1)) {
d<-sample(6,3,replace = TRUE)
s<-sum(d==6) #cuantos seis salieron
g[i]<-(s*a)-c #ganancia
g_a[i+1]<-g_a[i]+g[i]
}
r<-data.frame(tiempo=1:n,ganancia=g_a)
graf<-ggplot(r,aes(tiempo,ganancia))+geom_line(aes(color = tiempo))+
geom_point()+scale_color_viridis(option = "magma")
results<-list(ganancia=data.frame(tiempo=1:n,ganancia=g_a),graficos=graf)
return(results)
}
r8_2.1<-juego(100,10,10,10)
r8_2.2<-juego(100,10,2,5)
r8_2.3<-juego(100,100,10,20)
r8_2.4<-juego(100,1000,5,10)
Primero vamos a analizar el caso de \((10,10,10)\). Viendo la gráfica acontinuación, la pérdida obtenida en esta simulación es de -500, esto se debe a que la ganancia por un 6 es la misma que el costo del juego, por lo que las ganancias son reducidas, por juego a lo mas podrías ganar 30 pesos, y tendrías que restarle los 10 que te costó jugar, y esto con una probabilidad muy baja, por lo que se espera la ruina del jugador.
En el caso de \((10,2,5)\), el juego va a favor del jugador, que en este caso fue de 47, ya que la ganancia por cada 6 es bastante mayor al costo del juego, por lo que, si sale al menos un 6, el jugador ya recuperó el costo del juego y además tiene una pequeña ganancia.
En el caso de \((100,10,20)\), la cosa está más pareja, la ganancia por cada 6 es el doble del costo del juego y la posiblidad de bancarrota o de victoria esta equilibrada.
Por último, el caso \((1000,5,10)\), es muy parecido al caso anterior, la ventaja aquí es que el dinero inicial es mucho mayor que el costo y la ganancia, por lo que, aunque al final termine perdiendo, no se espera que su pérdida sea muy elevada en comparación con su presupuesto.