sapply() vs. lapply()
lapply() is top, maar soms wil je de geretourneerde data liever in een mooier formaat dan een lijst. Met de sharpe-ratio zou het bijvoorbeeld handig zijn als de uitkomsten in een vector staan in plaats van in een lijst. Verdere analyse wordt dan waarschijnlijk makkelijker!
Hiervoor kun je sapply() overwegen, oftewel simplify apply. Het werkt precies zoals lapply(), maar probeert de output te vereenvoudigen als dat kan. De basis-syntaxis is hetzelfde, met een paar extra argumenten:
sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
Met deze extra optionele argumenten kun je aangeven of sapply() de output moet proberen te vereenvoudigen en of het de namen van het object in de output moet gebruiken.
In deze oefening bereken je de sharpe-ratio’s opnieuw met sapply() om de output te vereenvoudigen. stock_return en de functie sharpe zijn voor je beschikbaar.
Deze oefening maakt deel uit van de cursus
R voor finance voor gevorderden
Oefeninstructies
- Gebruik eerst
lapply()opstock_returnom de sharpe-ratio opnieuw te krijgen. - Gebruik nu
sapply()opstock_returnom de vereenvoudigde output van de sharpe-ratio te zien. - Gebruik
sapply()opstock_returnom de sharpe-ratio te krijgen met de argumentensimplify = FALSEenUSE.NAMES = FALSE. Dit is gelijk aanlapply()!
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# lapply() on stock_return
___
# sapply() on stock_return
___
# sapply() on stock_return with optional arguments
___