1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Giới thiệu R cho Tài chính

Connected

Bài tập

Tách - Áp dụng - Kết hợp

Một bài toán phổ biến trong khoa học dữ liệu là tách data frame theo một nhóm, áp dụng một phép biến đổi cho từng nhóm, rồi ghép các phần đó lại thành một data frame duy nhất. Lớp bài toán này phổ biến đến mức trong R nó được đặt tên là split-apply-combine. Trong Intermediate R for Finance, bạn sẽ khám phá nhiều bài toán và các hàm hữu ích để giải chúng, nhưng bây giờ, hãy làm một ví dụ đơn giản.

Giả sử với data frame cash, bạn muốn nhân đôi cash_flow cho công ty A và nhân ba cho công ty B:

grouping <- cash$company
split_cash <- split(cash, grouping)

# Ta có thể truy cập cột cash_flow của từng phần tử list bằng:
split_cash$A$cash_flow
[1] 1000 4000  550

split_cash$A$cash_flow <- split_cash$A$cash_flow * 2
split_cash$B$cash_flow <- split_cash$B$cash_flow * 3

new_cash <- unsplit(split_cash, grouping)

Xem lại cách bạn truy cập cột cash_flow. Dấu $ đầu tiên dùng để truy cập phần tử A của list split_cash. Dấu $ thứ hai dùng để truy cập cột cash_flow của data frame trong A.

Hướng dẫn

100 XP
  • Data frame split_cash đã được cung cấp cho bạn. Ngoài ra, grouping dùng để tách cash cũng có sẵn.
  • In split_cash để xem qua list này.
  • In cột cash_flow cho công ty B trong split_cash.
  • Đáng tiếc, bạn biết rằng công ty A đã ngừng hoạt động. Đặt cash_flow của công ty A về 0.
  • Dùng grouping để unsplit() data frame split_cash. Gán kết quả cho cash_no_A.
  • Cuối cùng, in cash_no_A để xem data frame đã được chỉnh sửa.