ÎncepețiÎncepe gratuit

lapply și funcții anonime

Să îți scrii propriile funcții și apoi să le folosești în lapply() este o realizare notabilă! Totuși, a defini o funcție doar pentru a o folosi o singură dată este cam mult, nu-i așa? De aceea, în R poți folosi așa-numitele funcții anonime.

Ai învățat anterior că funcțiile din R sunt obiecte de sine stătătoare. Asta înseamnă că nu sunt legate automat de un nume. Când creezi o funcție, poți folosi operatorul de atribuire pentru a-i da un nume. Este perfect posibil, însă, să nu îi atribui niciun nume. Aceasta se numește funcție anonimă:

# 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 este deja definit pentru tine.

Acest exercițiu face parte din cursul

R intermediar

Vezi cursul

Instrucțiuni pentru exercițiu

  • Transformă primul apel al lapply() astfel încât să folosească o funcție anonimă care face același lucru.
  • În mod similar, convertește al doilea apel al lapply pentru a folosi o versiune anonimă a funcției select_second().
  • Elimină ambele definiții ale funcțiilor select_first() și select_second(), deoarece nu mai sunt necesare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul