데이터 프레임에 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
___