lapply() na liście
Pierwszą funkcją z rodziny apply, której się nauczysz, jest lapply() – skrót od „list apply". Gdy masz listę i chcesz zastosować tę samą funkcję do każdego jej elementu, lapply() to gotowe rozwiązanie, które zawsze zwraca inną listę. Jak to działa w praktyce?
Spójrz na prosty przykład. Załóżmy, że chcesz znaleźć długość każdego wektora na poniższej liście.
my_list
$a
[1] 2 4 5
$b
[1] 10 14 5 3 4 5 6
# Użycie lapply
# Zwróć uwagę, że przy podawaniu length nie używamy nawiasów
lapply(my_list, FUN = length)
$a
[1] 3
$b
[1] 7
Jak wspomniano w filmie, jeśli od razu pomyślałeś o pętli iterującej po elementach listy z wywołaniem length() w każdej iteracji – to dobry trop. lapply() to wektoryzowana wersja takiej pętli, często preferowana i prostsza w R.
Dostępna jest lista dziennych stóp zwrotu wyrażonych w procentach o nazwie stock_return oraz funkcja percent_to_decimal().
To ćwiczenie jest częścią kursu
R dla finansów – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Wyświetl
stock_return. - Uzupełnij funkcję
lapply(), aby zastosowaćpercent_to_decimal()do każdego elementu listystock_return.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Print stock_return
___
# lapply to change percents to decimal
lapply(___, FUN = ___)