lapply() på en dataram
Om du hade en dataram med aktieavkastningar i stället för en lista, skulle du fortfarande kunna använda lapply()? Ja! Något överraskande är dataramar i grunden listor, och ett anrop till lapply() tillämpar funktionen på varje kolumn i dataramen.
df
a b
1 1 4
2 2 6
class(df)
[1] "data.frame"
lapply(df, FUN = sum)
$a
[1] 3
$b
[1] 10
lapply() summerade varje kolumn i dataramen, men följer fortfarande sin konvention att alltid returnera en lista. En dataram med dagliga aktieavkastningar som decimaler kallas stock_return och har redan laddats in.
Den här övningen är en del av kursen
R för finans – fortsättningskurs
Övningsinstruktioner
- Skriv ut
stock_returnför att se dataramen. - Använd
lapply()för att beräkna medelvärdet (mean) för varje kolumn. - Skapa en funktion för sharpe-kvoten. Den ska ta medelvärdet av avkastningarna, subtrahera den riskfria räntan (
,03%) från det, och sedan dividera med standardavvikelsen för avkastningarna. - Använd
lapply()för att beräkna sharpe-kvoten för varje kolumn.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Print stock_return
___
# lapply to get the average returns
___
# Sharpe ratio
sharpe <- function(returns) {
(___ - .0003) / ___
}
# lapply to get the sharpe ratio
___