Argumente FUN
De multe ori, funcția pe care vrei să o aplici are și alte argumente opționale pe care poate dorești să le ajustezi. Ia în considerare funcția percent_to_decimal(), care permite utilizatorului să specifice numărul de zecimale.
percent_to_decimal(5.4, digits = 3)
[1] 0.054
În apelul la lapply(), poți specifica argumentele opționale denumite după argumentul FUN, iar acestea vor fi transmise funcției pe care o aplici.
my_list
$a
[1] 2.444 3.500
$b
[1] 1.100 2.678 3.450
lapply(my_list, FUN = percent_to_decimal, digits = 4)
$a
[1] 0.0244 0.0350
$b
[1] 0.0110 0.0268 0.0345
În acest exercițiu, vei extinde funcția pentru rata Sharpe, astfel încât utilizatorul să poată introduce rata fără risc ca argument, apoi vei folosi aceasta împreună cu lapply(). Un data frame cu randamentele zilnice ale acțiunilor exprimate ca zecimale, numit stock_return, este disponibil.
Acest exercițiu face parte din cursul
R intermediar pentru finanțe
Instrucțiuni pentru exercițiu
- Extinde funcția
sharpepentru a permite introducerea ratei fără risc ca argument opțional. Valoarea implicită trebuie setată la.0003. - Folosește
lapply()pestock_returnpentru a calcula rata Sharpe dacă rata fără risc este.0004. - Folosește
lapply()pestock_returnpentru a calcula rata Sharpe dacă rata fără risc este.0009.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
(mean(returns) - ___) / sd(returns)
}
# First lapply()
___
# Second lapply()
___