---
# System prepended metadata

title: Clase del 23 agosto 2022
tags: [Curso IPE 2022]

---

# Clase del 23 agosto 2022

###### tags: `Curso IPE 2022`


## Vez anterior

https://www.i3s.unice.fr/~malapert/R/pdf/base-r.pdf

## Ejercicios

1. Hacer un vector con los numeros impares del 1 al 100.

```R
> x <- seq(1, 100, by=2)
 [1]  1  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31
[17] 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63
[33] 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95
[49] 97 99
```

2. Qué significan los "indices" de un vector? Para qué se usan los paréntesis rectos?

```R
> a <- c("A", "B", "C")
> a[1]
"A"

> a[3]
"C"

> a[2:3]
"B" ""
```


3. Generar un vector `x` con los numeros impares de 1 a 100. Definir otro vector `y` a partir de `x` que solo tiene aquellos numeros que son mayores que 50.

```R
> x <- seq(1, 100, by=2)

> x[x>50]
 [1] 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95
[24] 97 99
> y=x[x>50]
```

Comentario: observar que el filtro que estamos aplicando se puede entender como una operacion entre conjuntos. Sean $X = \{i \in \mathbb{N} : 1 \leq i \leq 100, i \text{ impar}\}$ e $W = \{i \in \mathbb{N} : 50 < i \leq 100\}$, entonces $Y = X \cap W$.

4. Dado un vector `x`, devolver otro que tiene *todos* los elementos maximos.

```R
> x <- c(3, 50, 12, 50, 3)
> x[x == max(x)]
[1] 50 50
```

```R
> y <- c(3, 100, 12, 50, 3, 100, 100, 3, 50)

> y[y == max(y)]
[1] 100 100 100
```

5. Sean $X = \{3, 4, 5, 7\}$, $Y = \{4, -1, 5\}$ y $Z = \{i \in \mathbb{Z}: -100 \leq i \leq 100\}$. Generar $W = (Z \cap X) - Y$, donde $-$ es la diferencia de conjuntos.



```R
> x <- c(3,4,5,7)
> y <- c(4,-1,5)
> z <- seq(-100,100,by=1)

> w <- z[z %in% x]
> w
[1] 3 4 5 7

> w <- w[!(w %in% y)]
> w
[1] 3 7
```
Tambien se podria hacer en una linea:

```R
> z[(z %in% x) & !(z %in% y)]
[1] 3 7
```

----

