# Clase del 06 de setiembre de 2022 ###### tags: `Curso IPE 2022` ## Cheatsheet https://www.i3s.unice.fr/~malapert/R/pdf/base-r.pdf ## Objetivos - Implementar el Ejercicio (5) del Práctico 2 y compararlo con el resultado obtenido en la clase de práctico. ## Funcionalidades - Trabajar con vectores booleanos para calcular casos favorables en variables aleatorias. - Comparacion de un resultado teorico con un experimento numerico para el caso de un dado. ## Ejercicio 1 > Un dado honesto se lanza dos veces. Hallar la probabilidad de obtener 4, 5 o 6 en el primer lanzamiento y 1,2,3 o 4 en el segundo lanzamiento. ### Resultado teórico - $X_1$: primer lanzamiento - Tres casos favorables - Probabilidad $3/6$ - $X_2$: segundo lanzamiento - Cuatro casos favorables - Probabilidad $4/6$ - Entonces da: $$ P(X_1 \cap X_2) = \frac{3}{6} \frac{4}{6} = \frac{1}{2}\frac{2}{3} = \frac{2}{6} = \frac{1}{3}. $$ ### Implementación en R ```R > DADO <- 1:6 > N <- 5 > X1 <- sample(DADO, N, replace=TRUE) > X2 <- sample(DADO, N, replace=TRUE) > X1 [1] 5 2 6 1 3 > X2 [1] 5 4 4 6 1 ``` Fijarse que: - De $X_1$ los indices que me sirven son el 1 y el 3 - De $X_2$ los indices que me sirven son el 2, 3 y 5. ```R > X1[X1 %in% c(4, 5, 6)] [1] 5 6 ``` ```R > I1 <- which(X1 %in% c(4, 5, 6)) [1] 1 3 > I2 <- which(X2 %in% c(1, 2, 3, 4)) [1] 2 3 5 ``` Observar que: ```R > x = c(1, 3) > y = c(2, 3) > x == y [1] FALSE TRUE ``` ```R > B1 <- X1 %in% c(4, 5, 6) > B1 [1] TRUE FALSE TRUE FALSE FALSE > B2 <- X2 %in% c(1, 2, 3, 4) > B2 [1] FALSE TRUE TRUE FALSE TRUE ``` ```R > Y <- B1 & B2 > Y [1] FALSE FALSE TRUE FALSE FALSE ``` ```R > table(Y) Y FALSE TRUE 4 1 ``` Observar que en vez de AND puedo sumar los resultados y R interpreta de manera automatica `TRUE` como siendo `1` y `FALSE` como `0` y luego puedo contar el numero de 2. ```R > W <- B1 + B2 [1] 1 1 2 0 1 > W <- W[W == 2] [1] 2 > length(W) [1] 1 ``` Resta cambiar $N$ por un valor mas grande. Se sugiere hacer un script de R para cambiar $N$ de manera conveniente. ```R DADO <- 1:6 N <- 1000 X1 <- sample(DADO, N, replace=TRUE) X2 <- sample(DADO, N, replace=TRUE) B1 <- X1 %in% c(4, 5, 6) B2 <- X2 %in% c(1, 2, 3, 4) Y <- B1 & B2 table(Y) frac <- length(Y[Y==TRUE]) / N frac ``` ### Comparación Para cada valor de $N$ hacer tres evaluaciones y promediar el valor de $f$. Luego calcular el error relativo $e = |P - f|/P$. |N|f|e| |--|--|--| |100| | | |500| | | |1000| | |