Documento 4 FUNCIONES LAPPLY
Creamos lista1, siendo dicha variable una lista con 2 elementos, el primero de ellos un vector de notas llamado ‘notas_grupo1’ y el segundo una matriz de elementos númericos.
lista1 <- list(notas_grupo1 = c(1,2,3,4,5,7,6,5,4,3),
notas_grupo2_3 = matrix(c(2,3,2,9,8,8), nrow=2, ncol=3))
Los mostramos para comprobar que siguen la estructura definida:
## $notas_grupo1
## [1] 1 2 3 4 5 7 6 5 4 3
##
## $notas_grupo2_3
## [,1] [,2] [,3]
## [1,] 2 2 8
## [2,] 3 9 8
## [1] 1 2 3 4 5 7 6 5 4 3
## [,1] [,2] [,3]
## [1,] 2 2 8
## [2,] 3 9 8
- Usa lapply() para encontrar la longitud de las notas de todos los grupos que están en lista1.
## $notas_grupo1
## [1] 10
##
## $notas_grupo2_3
## [1] 6
- Usa sapply() para encontrar la media de las notas de todos los grupos que están en lista1.
## notas_grupo1 notas_grupo2_3
## 4.000000 5.333333
- Usa lapply() para encontrar los quantiles de las notas de todos los grupos que están en lista1.
## $notas_grupo1
## 0% 25% 50% 75% 100%
## 1 3 4 5 7
##
## $notas_grupo2_3
## 0% 25% 50% 75% 100%
## 2.00 2.25 5.50 8.00 9.00
- Dada la siguiente función f1(x)=(3x)/10, aplica f1(x) a todas las notas para cambiar las puntuaciones a la escala de 1 a 3.
## $notas_grupo1
## [1] 0.3 0.6 0.9 1.2 1.5 2.1 1.8 1.5 1.2 0.9
##
## $notas_grupo2_3
## [,1] [,2] [,3]
## [1,] 0.6 0.6 2.4
## [2,] 0.9 2.7 2.4
- Repite el ejercicio 4 pero haciendo que f1(x) sea una función anónima dentro de lapply().
## $notas_grupo1
## [1] 0.3 0.6 0.9 1.2 1.5 2.1 1.8 1.5 1.2 0.9
##
## $notas_grupo2_3
## [,1] [,2] [,3]
## [1,] 0.6 0.6 2.4
## [2,] 0.9 2.7 2.4
- Encuentra los valores no repetidos de las notas
## [[1]]
## [1] 2 8
##
## [[2]]
## [1] 3 9 8
- Convierte todas las notas de la lista a un vector (aplana los valores).
## [1] 1 2 3 4 5 7 6 5 4 3 2 3 2 9 8 8
## [1] "numeric"