Аргументи FUN
Часто функція, яку ви хочете застосувати, має інші необов'язкові аргументи, які ви можете налаштувати. Розгляньте функцію percent_to_decimal(), що дозволяє користувачеві задати кількість десяткових знаків.
percent_to_decimal(5.4, digits = 3)
[1] 0.054
У виклику lapply() ви можете вказати іменовані необов'язкові аргументи після аргументу FUN, і вони будуть передані у функцію, яку ви застосовуєте.
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
У цій вправі ви розширите можливості своєї функції обчислення коефіцієнта Шарпа, щоб дозволити користувачеві передавати безризикову ставку як аргумент, а потім використаєте це з lapply(). Доступний датафрейм щоденних дохідностей акцій у вигляді десяткових дробів під назвою stock_return.
Ця вправа є частиною курсу
Середній рівень R для фінансів
Інструкції до вправи
- Розширте
sharpe, щоб дозволити введення безризикової ставки як необов'язкового аргументу. Значення за замовчуванням має бути.0003. - Застосуйте
lapply()доstock_return, щоб знайти коефіцієнт Шарпа, якщо безризикова ставка дорівнює.0004. - Застосуйте
lapply()доstock_return, щоб знайти коефіцієнт Шарпа, якщо безризикова ставка дорівнює.0009.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
(mean(returns) - ___) / sd(returns)
}
# First lapply()
___
# Second lapply()
___