lapply e funções anônimas
Escrever suas próprias funções e depois usá-las dentro de lapply()
é um feito e tanto! Mas definir funções para usá-las apenas uma vez é um pouco exagerado, não é? É por isso que você pode usar as chamadas funções anônimas no R.
Anteriormente, você aprendeu que as funções no R são objetos por si só. Isso significa que eles não são automaticamente vinculados a um nome. Ao criar uma função, você pode usar o operador de atribuição para dar um nome à função. No entanto, é perfeitamente possível que você não dê um nome à função. Isso é chamado de função 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
é definido para você.
Este exercício faz parte do curso
R intermediário
Instruções de exercício
- Transforme a primeira chamada de
lapply()
de modo que ela use uma função anônima que faça a mesma coisa. - De forma semelhante, converta a segunda chamada de
lapply
para usar uma versão anônima da funçãoselect_second()
. - Remova as definições de
select_first()
eselect_second()
, pois elas não são mais úteis.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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)