# 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| | |