Documento 5 Cuestion 1
- Crea un vector v1 con los siguientes 10 valores (3, 12, 6, -5, 0, NA, 15, 1, -10, 7).
- Crea un vector v2 con valores de 0 a 10 de 0.1 en 0.1
- Comando para ver el tipo de datos de v1.
## [1] "numeric"
- Resta 2 a los elementos pares de v1 (con una sola orden y de forma vectorial). Define dos funciones que realicen esta tarea.
## [1] 10 -7 NA -1 5
- Calcula la suma y la media de v2. tem Con los vectores v2 y v3 crea un data.frame de nombre mi.df1.
## [1] 505
## [1] 5
Se nos pide que creemos un dataframe con los vectores v2 y v3, pero v3 no nos dice en ningún momento que lo creemos ni cómo.
- Cambia el nombre de columnas de data.frame anterior con las etiquetas x y seno(x).
Tampoco sabríamos cómo hacer este apartado ya que no hemos podido crear el dataframe anterior.
- Invierte el orden de los elementos de v2 y lo guardas en v4.
## [1] 10.0 9.9 9.8 9.7 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.9 8.8 8.7 8.6
## [16] 8.5 8.4 8.3 8.2 8.1 8.0 7.9 7.8 7.7 7.6 7.5 7.4 7.3 7.2 7.1
## [31] 7.0 6.9 6.8 6.7 6.6 6.5 6.4 6.3 6.2 6.1 6.0 5.9 5.8 5.7 5.6
## [46] 5.5 5.4 5.3 5.2 5.1 5.0 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1
## [61] 4.0 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0 2.9 2.8 2.7 2.6
## [76] 2.5 2.4 2.3 2.2 2.1 2.0 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2 1.1
## [91] 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0
- Guarda en un vector v5 los elementos de v1 que no son negativos ni NA.
## [1] 3 12 6 0 15 1 7
- Borra de v1 los elementos negativos.
- Calcula la longitud de v1 y mira la estructura del vector.
## [1] 8
## num [1:8] 3 12 6 0 NA 15 1 7
- Elimina v1 del Workspace de R.
12. Calcula la media de aquellos valores de v2 que sean menores de 1.
## [1] 0.45
13. Elimina de v2 aquellos elementos mayores de 1 y menores de 3.
## [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 3.0 3.1 3.2 3.3
## [16] 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
## [31] 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3
## [46] 6.4 6.5 6.6 6.7 6.8 6.9 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8
## [61] 7.9 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3
## [76] 9.4 9.5 9.6 9.7 9.8 9.9 10.0
- Calcula la suma acumulada de los valores de v2.
## [1] 467
- De varias formas distintas crea una matriz M1 con los valores de 1 a 25 con 5 filas (almacenados por filas).
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 6 7 8 9 10
## [3,] 11 12 13 14 15
## [4,] 16 17 18 19 20
## [5,] 21 22 23 24 25
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 6 7 8 9 10
## [3,] 11 12 13 14 15
## [4,] 16 17 18 19 20
## [5,] 21 22 23 24 25
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 6 7 8 9 10
## [3,] 11 12 13 14 15
## [4,] 16 17 18 19 20
## [5,] 21 22 23 24 25
- Extrae de la matriz M1 aquellos valores que sean mayores que 10.
## [1] 11 16 21 12 17 22 13 18 23 14 19 24 15 20 25
- Extrae de la matriz M1 la primera y la última columna y guarda el resultado en matriz M2.
## [,1] [,2]
## [1,] 1 5
## [2,] 6 10
## [3,] 11 15
## [4,] 16 20
## [5,] 21 25
- Calcula el determinante de M1.
## [1] 0
- Calcula la inversa de M1.
solve(M1)
Al ser su determinante 0, no podemos calcular la inversa de la matriz M1, ya que salta un error al dividir por 0.
- Calcula los autovectores y autovalores de M1. Define una función que dada una matriz devuelva en una lista su radio espectral que se define como el mayor autovalor en módulo y su autovector correspondiente.
f <- function(M1){
mat <- eigen(M1)
vects <- Mod(mat$values)
indice <- which.max(vects)
res <- list(vects[indice], mat$vectors[, indice])
return(res)
}
ej20 <- f(M1)
ej20
## [[1]]
## [1] 68.64208
##
## [[2]]
## [1] -0.1079750+0i -0.2527750+0i -0.3975750+0i -0.5423751+0i -0.6871751+0i
Aquí encontramos otra forma de calcular lo pedido: