---
# System prepended metadata

title: Clase del 06 de setiembre de 2022
tags: [Curso IPE 2022]

---

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