lapply() na seznamu
První funkcí z rodiny apply, kterou se naučíš, je lapply() – zkratka pro „list apply". Když máš seznam a chceš na každý jeho prvek aplikovat stejnou funkci, lapply() je jedním z řešení – a vždy vrátí další seznam. Jak to funguje v praxi?
Podívejme se na jednoduchý příklad. Řekněme, že chceš zjistit délku každého vektoru v následujícím seznamu.
my_list
$a
[1] 2 4 5
$b
[1] 10 14 5 3 4 5 6
# Použití lapply
# Všimni si, že při volání length závorky nepotřebuješ
lapply(my_list, FUN = length)
$a
[1] 3
$b
[1] 7
Jak bylo zmíněno ve videu – pokud tě jako první napadlo procházet každý prvek seznamu smyčkou a na každé iteraci volat length(), jsi na správné stopě. lapply() je vektorizovaná verze přesně takové smyčky a v prostředí R se zpravidla dává přednost právě jí (a je i přehlednější).
K dispozici máš seznam denních výnosů akcií v procentech s názvem stock_return a funkci percent_to_decimal().
Toto cvičení je součástí kurzu
Intermediate R for Finance
Pokyny k cvičení
- Vypiš
stock_return. - Doplň funkci
lapply()tak, aby aplikovalapercent_to_decimal()na každý prvek seznamustock_return.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Print stock_return
___
# lapply to change percents to decimal
lapply(___, FUN = ___)