Začněte nyníZačněte zdarma

lapply a anonymní funkce

Psát vlastní funkce a pak je používat uvnitř lapply() je pěkný výkon! Jenže definovat funkci jen proto, aby ses ji použil/a jednou, je trochu zbytečné, že? Proto v R existují takzvané anonymní funkce.

V předchozích lekcích sis ukázal/a, že funkce jsou v R plnohodnotné objekty. To znamená, že nejsou automaticky svázané s žádným názvem. Když funkci vytvoříš, můžeš jí název přiřadit pomocí operátoru přiřazení – ale nemusíš. Taková funkce bez názvu se nazývá anonymní:

# Pojmenovaná funkce
triple <- function(x) { 3 * x }

# Anonymní funkce se stejnou implementací
function(x) { 3 * x }

# Použití anonymní funkce uvnitř lapply()
lapply(list(1,2,3), function(x) { 3 * x })

split_low je už pro tebe definován.

Toto cvičení je součástí kurzu

Intermediate R

Zobrazit kurz

Pokyny k cvičení

  • Upravte první volání lapply() tak, aby místo pojmenované funkce používalo anonymní funkci se stejnou logikou.
  • Stejným způsobem převeď druhé volání lapply na anonymní verzi funkce select_second().
  • Odstraň definice obou funkcí – select_first() i select_second() – protože je už nepotřebuješ.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód