Aan de slagGa gratis aan de slag

lapply() op een lijst

De eerste functie in de apply-familie die je leert is lapply(), kort voor "list apply". Als je een lijst hebt en je wilt dezelfde functie toepassen op elk element van die lijst, dan is lapply() een handige oplossing die altijd een nieuwe lijst teruggeeft. Hoe werkt dat?

Kijk naar een eenvoudig voorbeeld. Stel dat je de lengte wilt bepalen van elke vector in de volgende lijst.

my_list
$a
[1] 2 4 5

$b
[1] 10 14  5  3  4  5  6

# lapply gebruiken
# Merk op dat je geen haakjes nodig hebt bij het aanroepen van length
lapply(my_list, FUN = length)
$a
[1] 3

$b
[1] 7

Zoals in de video genoemd: als je eerst dacht aan een lus die over elk element van de lijst gaat en bij elke iteratie length() gebruikt, dan is dat niet fout. lapply() is de gevectoriseerde versie van dit soort lus en is in de R-wereld vaak de voorkeur (en eenvoudiger).

Er is een lijst met dagelijkse aandelenrendementen als percentages met de naam stock_return en de functie percent_to_decimal() is beschikbaar.

Deze oefening maakt deel uit van de cursus

R voor finance voor gevorderden

Cursus bekijken

Oefeninstructies

  • Print stock_return.
  • Vul de lapply()-aanroep aan om percent_to_decimal() toe te passen op elk element in stock_return.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Print stock_return
___

# lapply to change percents to decimal
lapply(___, FUN = ___)
Code bewerken en uitvoeren