lapply() для датафрейма
Якщо замість списку у вас є датафрейм з доходностями акцій, чи можна все одно використати lapply()? Так! Можливо, неочевидно, але датафрейми насправді є списками «під капотом», і виклик lapply() застосує функцію до кожного стовпця датафрейма.
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() підсумувала кожен стовпець у датафреймі, але й надалі дотримується своєї домовленості — завжди повертати список. Надано датафрейм щоденних доходностей акцій у десятковому форматі під назвою stock_return.
Ця вправа є частиною курсу
Середній рівень R для фінансів
Інструкції до вправи
- Надрукуйте
stock_return, щоб переглянути датафрейм. - Використайте
lapply(), щоб отримати середнє значення (mean) для кожного стовпця. - Створіть функцію для коефіцієнта Шарпа. Вона має взяти середнє значення доходностей, відняти від нього безризикову ставку (
.03%), а потім поділити на стандартне відхилення доходностей. - Використайте
lapply(), щоб обчислити коефіцієнт Шарпа для кожного стовпця.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Print stock_return
___
# lapply to get the average returns
___
# Sharpe ratio
sharpe <- function(returns) {
(___ - .0003) / ___
}
# lapply to get the sharpe ratio
___