ÎncepețiÎncepe gratuit

lapply() aplicat pe un data frame

Dacă, în loc de o listă, ai avea un data frame cu randamentele acțiunilor, ai putea folosi în continuare lapply()? Da! Poate surprinzător, data frame-urile sunt de fapt liste „pe dedesubt", iar un apel lapply() va aplica funcția fiecărei coloane din data frame.

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() a calculat suma fiecărei coloane din data frame, păstrând totuși convenția de a returna întotdeauna o listă. A fost furnizat un data frame cu randamentele zilnice ale acțiunilor exprimate ca zecimale, numit stock_return.

Acest exercițiu face parte din cursul

R intermediar pentru finanțe

Vezi cursul

Instrucțiuni pentru exercițiu

  • Afișează stock_return pentru a vedea data frame-ul.
  • Folosește lapply() pentru a calcula media (mean) fiecărei coloane.
  • Creează o funcție pentru rata Sharpe. Aceasta trebuie să calculeze media randamentelor, să scadă rata fără risc (.03%) și apoi să împartă rezultatul la abaterea standard a randamentelor.
  • Folosește lapply() pentru a calcula rata Sharpe a fiecărei coloane.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Print stock_return
___

# lapply to get the average returns
___

# Sharpe ratio
sharpe <- function(returns) {
    (___ - .0003) / ___
}

# lapply to get the sharpe ratio
___
Editează și rulează codul