Punto 1 - Simulación Resultado de la Suma del Lanzamiento de dos Dados

  1. Crear una función sin entradas pero que simule el lanzamiento de dos dados legales y sume el resulado de ellos.
sim_lanzamiento=function(){
  dado1= 1:6
  dado2= 1:6
  x= sample(dado1,1)+sample(dado2,1)
  return(x)
}
sim_lanzamiento()
## [1] 9
  1. Generalizar la función para que tenga como entrada el total de lanzamientos y cuente los resultados de una condición en particular (ejemplo suma igual a 12).
#Opcion 1
sim_multi_lanza= function(nlanza, valor_condi){
lanzamientos= array(NA, nlanza)
for(i in 1:nlanza){
  lanzamientos[i]=sim_lanzamiento()
}
return(sum(lanzamientos==valor_condi))
}
sim_multi_lanza(nlanza = 500, valor_condi = 12)
## [1] 10
  1. Con la función de b. compare los resultados de la simulación para 10000 lanzamientos con los resultados esperados de acuerdo a la probabilidad calculada con el total de combinaciones.
#Probabilidad teorica
dado1= 1:6
dado2= 1:6
espacio = expand.grid(dado1,dado2)
y=apply(espacio,1, sum)
data.frame(espacio, y)
##    Var1 Var2  y
## 1     1    1  2
## 2     2    1  3
## 3     3    1  4
## 4     4    1  5
## 5     5    1  6
## 6     6    1  7
## 7     1    2  3
## 8     2    2  4
## 9     3    2  5
## 10    4    2  6
## 11    5    2  7
## 12    6    2  8
## 13    1    3  4
## 14    2    3  5
## 15    3    3  6
## 16    4    3  7
## 17    5    3  8
## 18    6    3  9
## 19    1    4  5
## 20    2    4  6
## 21    3    4  7
## 22    4    4  8
## 23    5    4  9
## 24    6    4 10
## 25    1    5  6
## 26    2    5  7
## 27    3    5  8
## 28    4    5  9
## 29    5    5 10
## 30    6    5 11
## 31    1    6  7
## 32    2    6  8
## 33    3    6  9
## 34    4    6 10
## 35    5    6 11
## 36    6    6 12
prob_teorica = table(y)/36
plot(2:12, prob_teorica, type = "b")

#Simulación

sim_multi_lanza(nlanza = 10000, valor_condi = 7)/10000
## [1] 0.1682

Punto 2 - Simulación Concepto de Distribucción Muestral (Caso proporciones)

  1. Genere una población con una cantidad dada de 0 y 1.
pob = c(rep(x = 1,100),rep(x = 0,900))
  1. Crear una función que obtenga una muestra de esa población de a. y calcule el porcentaje de 1.
sum(sample(pob, size = 200))/200
## [1] 0.075
  1. Repita este proceso una cantidad (mas de 1000 veces) y guarde los porcentajes de cada iteración
# porcentajes_muestra = array(NA,1000)
# for(i in 1:1000){
# pob = c(rep(x = 1,100),rep(x = 0,900))
# porcentajes_muestra[i] = sum(sample(pob, size = 200))/200
# }
# porcentajes_muestra



calc_por_uno =function(n_muestra){
pob = c(rep(x = 1,100),rep(x = 0,900))
return(sum(sample(pob, size = n_muestra))/n_muestra )
}

calc_por_uno(n_muestra = 200)
## [1] 0.115
porcentajes_muestra = sapply(rep(200,1000), calc_por_uno)
porcentajes_muestra
##    [1] 0.100 0.090 0.110 0.070 0.090 0.095 0.140 0.060 0.100 0.115 0.090 0.095
##   [13] 0.060 0.150 0.080 0.075 0.110 0.095 0.095 0.090 0.125 0.085 0.105 0.090
##   [25] 0.095 0.105 0.145 0.105 0.120 0.135 0.105 0.115 0.075 0.065 0.100 0.070
##   [37] 0.105 0.080 0.070 0.075 0.115 0.100 0.115 0.115 0.100 0.085 0.085 0.110
##   [49] 0.085 0.075 0.090 0.100 0.115 0.100 0.090 0.090 0.090 0.115 0.100 0.095
##   [61] 0.125 0.130 0.100 0.110 0.080 0.100 0.120 0.100 0.100 0.075 0.075 0.100
##   [73] 0.100 0.080 0.090 0.070 0.110 0.090 0.115 0.090 0.090 0.105 0.155 0.105
##   [85] 0.105 0.090 0.065 0.120 0.100 0.085 0.065 0.120 0.090 0.120 0.120 0.090
##   [97] 0.090 0.105 0.095 0.115 0.105 0.100 0.095 0.100 0.080 0.130 0.100 0.110
##  [109] 0.110 0.115 0.115 0.090 0.095 0.105 0.090 0.105 0.110 0.105 0.100 0.130
##  [121] 0.095 0.080 0.115 0.060 0.075 0.100 0.125 0.085 0.085 0.065 0.095 0.130
##  [133] 0.095 0.070 0.095 0.145 0.095 0.090 0.145 0.090 0.070 0.100 0.110 0.105
##  [145] 0.115 0.095 0.085 0.095 0.100 0.085 0.075 0.075 0.105 0.110 0.095 0.080
##  [157] 0.060 0.075 0.125 0.085 0.090 0.090 0.090 0.100 0.115 0.120 0.105 0.095
##  [169] 0.075 0.095 0.080 0.150 0.090 0.100 0.090 0.125 0.075 0.065 0.085 0.105
##  [181] 0.085 0.095 0.085 0.090 0.145 0.100 0.110 0.090 0.115 0.100 0.085 0.105
##  [193] 0.075 0.100 0.100 0.105 0.095 0.080 0.120 0.120 0.070 0.105 0.120 0.115
##  [205] 0.100 0.110 0.115 0.105 0.100 0.100 0.080 0.100 0.095 0.095 0.105 0.095
##  [217] 0.095 0.085 0.095 0.110 0.085 0.080 0.085 0.075 0.110 0.100 0.120 0.095
##  [229] 0.125 0.110 0.105 0.100 0.095 0.070 0.085 0.090 0.110 0.085 0.105 0.075
##  [241] 0.085 0.080 0.110 0.085 0.100 0.090 0.115 0.105 0.100 0.080 0.070 0.105
##  [253] 0.105 0.080 0.120 0.095 0.115 0.105 0.125 0.095 0.125 0.085 0.085 0.100
##  [265] 0.110 0.105 0.095 0.065 0.125 0.040 0.120 0.125 0.115 0.125 0.125 0.100
##  [277] 0.075 0.110 0.105 0.115 0.105 0.115 0.125 0.120 0.125 0.095 0.090 0.110
##  [289] 0.115 0.105 0.130 0.065 0.105 0.075 0.110 0.115 0.095 0.090 0.080 0.100
##  [301] 0.105 0.065 0.130 0.075 0.090 0.115 0.120 0.045 0.100 0.115 0.090 0.140
##  [313] 0.085 0.095 0.100 0.095 0.115 0.110 0.135 0.090 0.090 0.115 0.110 0.090
##  [325] 0.115 0.070 0.100 0.110 0.085 0.070 0.100 0.075 0.120 0.090 0.090 0.095
##  [337] 0.085 0.100 0.120 0.105 0.105 0.105 0.100 0.095 0.100 0.090 0.095 0.130
##  [349] 0.125 0.110 0.105 0.070 0.100 0.110 0.085 0.125 0.120 0.085 0.050 0.075
##  [361] 0.080 0.120 0.095 0.095 0.130 0.090 0.085 0.100 0.080 0.075 0.085 0.115
##  [373] 0.100 0.110 0.100 0.115 0.095 0.120 0.110 0.125 0.075 0.115 0.095 0.085
##  [385] 0.065 0.060 0.080 0.095 0.080 0.105 0.125 0.100 0.110 0.140 0.105 0.075
##  [397] 0.120 0.140 0.095 0.075 0.090 0.140 0.120 0.095 0.095 0.095 0.055 0.130
##  [409] 0.120 0.140 0.085 0.145 0.085 0.110 0.115 0.065 0.100 0.100 0.080 0.080
##  [421] 0.100 0.115 0.075 0.080 0.110 0.095 0.130 0.130 0.105 0.115 0.105 0.130
##  [433] 0.110 0.100 0.085 0.095 0.095 0.095 0.115 0.100 0.100 0.115 0.085 0.125
##  [445] 0.090 0.100 0.105 0.085 0.110 0.120 0.090 0.110 0.095 0.105 0.115 0.060
##  [457] 0.110 0.095 0.120 0.095 0.125 0.090 0.080 0.120 0.085 0.130 0.095 0.105
##  [469] 0.100 0.100 0.130 0.095 0.095 0.100 0.095 0.090 0.120 0.125 0.085 0.105
##  [481] 0.150 0.090 0.095 0.120 0.140 0.080 0.090 0.085 0.065 0.115 0.105 0.110
##  [493] 0.090 0.125 0.135 0.095 0.105 0.110 0.050 0.100 0.095 0.110 0.065 0.105
##  [505] 0.120 0.120 0.090 0.075 0.105 0.080 0.110 0.095 0.120 0.110 0.080 0.110
##  [517] 0.090 0.110 0.115 0.090 0.120 0.105 0.130 0.130 0.085 0.075 0.080 0.070
##  [529] 0.130 0.130 0.105 0.100 0.115 0.135 0.140 0.120 0.100 0.075 0.125 0.110
##  [541] 0.110 0.075 0.115 0.125 0.090 0.150 0.075 0.115 0.105 0.105 0.120 0.100
##  [553] 0.120 0.120 0.125 0.085 0.100 0.090 0.090 0.100 0.115 0.110 0.090 0.060
##  [565] 0.090 0.085 0.120 0.080 0.110 0.115 0.110 0.100 0.130 0.080 0.095 0.095
##  [577] 0.130 0.075 0.125 0.090 0.090 0.080 0.055 0.095 0.110 0.130 0.105 0.075
##  [589] 0.100 0.085 0.060 0.105 0.080 0.125 0.070 0.145 0.100 0.115 0.090 0.090
##  [601] 0.115 0.090 0.095 0.095 0.095 0.130 0.115 0.080 0.110 0.095 0.110 0.100
##  [613] 0.115 0.110 0.080 0.130 0.120 0.095 0.125 0.145 0.090 0.085 0.095 0.070
##  [625] 0.120 0.100 0.100 0.090 0.100 0.090 0.120 0.095 0.110 0.080 0.120 0.080
##  [637] 0.100 0.110 0.090 0.105 0.100 0.090 0.075 0.110 0.070 0.105 0.085 0.125
##  [649] 0.080 0.085 0.060 0.105 0.110 0.070 0.120 0.090 0.090 0.110 0.125 0.130
##  [661] 0.110 0.065 0.080 0.065 0.120 0.060 0.075 0.085 0.100 0.110 0.095 0.115
##  [673] 0.090 0.105 0.100 0.095 0.140 0.130 0.105 0.100 0.090 0.065 0.105 0.100
##  [685] 0.100 0.085 0.095 0.090 0.155 0.090 0.065 0.140 0.095 0.110 0.090 0.080
##  [697] 0.105 0.065 0.110 0.120 0.085 0.080 0.085 0.110 0.145 0.085 0.115 0.130
##  [709] 0.125 0.100 0.085 0.070 0.130 0.110 0.080 0.090 0.125 0.090 0.115 0.070
##  [721] 0.120 0.095 0.120 0.110 0.120 0.125 0.105 0.115 0.115 0.090 0.095 0.110
##  [733] 0.085 0.075 0.105 0.090 0.070 0.085 0.135 0.080 0.090 0.100 0.110 0.075
##  [745] 0.085 0.110 0.085 0.090 0.110 0.135 0.110 0.100 0.075 0.105 0.100 0.125
##  [757] 0.095 0.120 0.075 0.115 0.080 0.115 0.110 0.080 0.115 0.110 0.105 0.100
##  [769] 0.095 0.095 0.110 0.090 0.100 0.105 0.105 0.110 0.060 0.120 0.105 0.050
##  [781] 0.085 0.070 0.130 0.130 0.080 0.105 0.090 0.115 0.085 0.090 0.105 0.100
##  [793] 0.090 0.070 0.110 0.095 0.100 0.120 0.060 0.090 0.105 0.100 0.095 0.080
##  [805] 0.135 0.105 0.095 0.090 0.105 0.075 0.130 0.090 0.065 0.105 0.080 0.105
##  [817] 0.110 0.160 0.095 0.085 0.090 0.075 0.095 0.090 0.090 0.120 0.130 0.145
##  [829] 0.100 0.100 0.125 0.130 0.135 0.090 0.090 0.100 0.090 0.075 0.115 0.110
##  [841] 0.140 0.085 0.090 0.055 0.100 0.100 0.115 0.110 0.085 0.130 0.070 0.100
##  [853] 0.110 0.105 0.120 0.080 0.100 0.110 0.085 0.095 0.100 0.105 0.075 0.075
##  [865] 0.120 0.110 0.095 0.065 0.105 0.095 0.080 0.100 0.100 0.130 0.085 0.040
##  [877] 0.130 0.120 0.145 0.090 0.140 0.085 0.070 0.085 0.090 0.080 0.070 0.085
##  [889] 0.130 0.110 0.105 0.110 0.115 0.125 0.110 0.105 0.080 0.110 0.140 0.105
##  [901] 0.070 0.055 0.080 0.095 0.125 0.125 0.150 0.080 0.085 0.115 0.120 0.090
##  [913] 0.080 0.090 0.105 0.100 0.070 0.115 0.090 0.095 0.105 0.140 0.090 0.105
##  [925] 0.115 0.100 0.100 0.075 0.100 0.090 0.085 0.095 0.080 0.120 0.135 0.100
##  [937] 0.085 0.105 0.100 0.090 0.095 0.090 0.095 0.140 0.145 0.090 0.090 0.090
##  [949] 0.095 0.065 0.060 0.110 0.115 0.100 0.075 0.105 0.130 0.130 0.050 0.115
##  [961] 0.100 0.125 0.070 0.115 0.070 0.100 0.090 0.120 0.115 0.075 0.140 0.110
##  [973] 0.120 0.130 0.085 0.095 0.150 0.105 0.065 0.095 0.115 0.095 0.085 0.135
##  [985] 0.115 0.110 0.120 0.090 0.100 0.095 0.095 0.090 0.080 0.085 0.105 0.090
##  [997] 0.100 0.085 0.105 0.085
  1. Grafique los resultados de estos porcentajes y calcule algunos indicadores descriptivos (compare los resultados con la población generada inicial).
summary(porcentajes_muestra)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.040   0.090   0.100   0.100   0.115   0.160
hist(porcentajes_muestra)
abline(v=0.1, col="red", lwd=2)
abline(v=mean(porcentajes_muestra), col="blue", lwd=2)