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