1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. R trung cấp cho Tài chính

Connected

Bài tập

sapply() so với lapply()

lapply() rất hữu ích, nhưng đôi khi bạn sẽ muốn dữ liệu trả về ở dạng “gọn” hơn một list. Ví dụ, với tỷ lệ Sharpe, sẽ tuyệt biết bao nếu các giá trị Sharpe trả về là một vector thay vì list? Phân tích tiếp theo có lẽ sẽ dễ hơn nhiều!

Với nhu cầu đó, bạn có thể cân nhắc sapply() (simplify apply). Hàm này hoạt động y hệt lapply(), nhưng sẽ cố gắng đơn giản hóa (simplify) đầu ra nếu có thể. Cú pháp cơ bản giống nhau, chỉ thêm một vài đối số:

sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)

Các đối số tùy chọn này cho phép bạn chỉ định có muốn sapply() cố gắng đơn giản hóa đầu ra hay không, và có muốn sử dụng tên của đối tượng trong đầu ra hay không.

Trong bài tập này, bạn sẽ tính lại các tỷ lệ Sharpe bằng sapply() để đơn giản hóa đầu ra. stock_return và hàm sharpe đã được cung cấp cho bạn.

Hướng dẫn

100 XP
  • Trước tiên, dùng lapply() trên stock_return để tính lại tỷ lệ Sharpe.
  • Tiếp theo, dùng sapply() trên stock_return để xem đầu ra tỷ lệ Sharpe đã được đơn giản hóa.
  • Dùng sapply() trên stock_return để lấy tỷ lệ Sharpe với các đối số simplify = FALSE và USE.NAMES = FALSE. Cách này tương đương với lapply()!