lapply y las funciones anónimas
Escribir tus propias funciones y utilizarlas dentro de lapply()
es todo un logro. Sin embargo, definir funciones para utilizarlas solo una vez es un poco exagerado, ¿no? Por eso en R puedes utilizar las llamadas funciones anónimas.
Anteriormente, aprendiste que las funciones en R son objetos por derecho propio. Esto significa que no están vinculadas automáticamente a un nombre. Cuando creas una función, puedes utilizar el operador de asignación para darle un nombre a esa función. Sin embargo, es perfectamente posible no dar un nombre a la función. Esto se llama función anónima:
# Named function
triple <- function(x) { 3 * x }
# Anonymous function with same implementation
function(x) { 3 * x }
# Use anonymous function inside lapply()
lapply(list(1,2,3), function(x) { 3 * x })
split_low
está definido.
Este ejercicio forma parte del curso
R intermedio
Instrucciones de ejercicio
- Transforma la primera llamada de
lapply()
para que utilice una función anónima que haga lo mismo. - De forma similar, convierte la segunda llamada de
lapply
para utilizar una versión anónima de la funciónselect_second()
. - Elimina las dos definiciones de
select_first()
yselect_second()
, porque ya no son útiles.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# split_low has been created for you
split_low
# Transform: use anonymous function inside lapply
select_first <- function(x) {
x[1]
}
names <- lapply(split_low, select_first)
# Transform: use anonymous function inside lapply
select_second <- function(x) {
x[2]
}
years <- lapply(split_low, select_second)