lapply() på en lista
Den första funktionen i apply-familjen som du får lära dig är lapply(), vilket är en förkortning för "list apply." När du har en lista och vill tillämpa samma funktion på varje element i listan är lapply() en möjlig lösning – den returnerar alltid en ny lista. Hur fungerar det i praktiken?
Låt oss titta på ett enkelt exempel. Anta att du vill ta reda på längden på varje vektor i följande lista.
my_list
$a
[1] 2 4 5
$b
[1] 10 14 5 3 4 5 6
# Using lapply
# Note that you don't need parenthesis when calling length
lapply(my_list, FUN = length)
$a
[1] 3
$b
[1] 7
Som nämndes i videon: om du först tänkte på att loopa över varje element i listan och använda length() vid varje iteration har du rätt i tanken. lapply() är den vektoriserade varianten av den typen av loop och är ofta att föredra – och enklare – i R-världen.
En lista med dagliga aktiekursutvecklingar i procent kallad stock_return och funktionen percent_to_decimal() har förberetts åt dig.
Den här övningen är en del av kursen
R för finans – fortsättningskurs
Övningsinstruktioner
- Skriv ut
stock_return. - Fyll i
lapply()-funktionen så attpercent_to_decimal()tillämpas på varje element istock_return.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Print stock_return
___
# lapply to change percents to decimal
lapply(___, FUN = ___)