sapply() vs. lapply()
lapply() är utmärkt, men ibland vill du ha tillbaka data i ett smidigare format än en lista. Ta Sharpe-kvoten som exempel – vore det inte praktiskt om resultaten returnerades som en vektor i stället för en lista? Det skulle göra vidare analys betydligt enklare!
Där kan sapply(), eller simplify apply, komma till nytta. Funktionen fungerar precis som lapply(), men försöker förenkla utdatan om möjligt. Syntaxen är densamma, med några extra argument:
sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
Med dessa valfria argument kan du ange om sapply() ska försöka förenkla utdatan, och om funktionens namn ska användas i resultatet.
I den här övningen beräknar du Sharpe-kvoter på nytt med sapply() för att få ett enklare utdataformat. stock_return och funktionen sharpe finns redan tillgängliga.
Den här övningen är en del av kursen
R för finans – fortsättningskurs
Övningsinstruktioner
- Använd först
lapply()påstock_returnför att beräkna Sharpe-kvoten igen. - Använd sedan
sapply()påstock_returnför att se det förenklade utdataformatet. - Använd
sapply()påstock_returnför att beräkna Sharpe-kvoten med argumentensimplify = FALSEochUSE.NAMES = FALSE. Det ger samma resultat somlapply()!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# lapply() on stock_return
___
# sapply() on stock_return
___
# sapply() on stock_return with optional arguments
___