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

Ver Curso

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ção select_second().
  • Remova as definições de select_first() e select_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)