1. 학습
  2. /
  3. 강의
  4. /
  5. 금융을 위한 R 입문

Connected

연습 문제

Split-Apply-Combine

데이터 과학에서 자주 맞닥뜨리는 문제 중 하나는 데이터를 어떤 기준으로 분할하고(split), 각 그룹에 변환을 적용한 뒤(apply), 다시 하나의 데이터 프레임으로 결합하는(combine) 작업입니다. R에서는 이런 유형의 문제를 통틀어 split-apply-combine이라고 부릅니다. 이 과정에서 유용한 다양한 문제 유형과 함수들은 Intermediate R for Finance에서 더 자세히 다루게 되지만, 지금은 간단한 예제로 살펴보겠습니다.

cash 데이터 프레임에서, 회사 A의 cash_flow는 두 배로, 회사 B의 cash_flow는 세 배로 늘리고 싶다고 가정해 봅시다:

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

# 각 리스트 원소의 cash_flow 열에 접근하는 방법:
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)

cash_flow 열에 어떻게 접근하는지 다시 한 번 보세요. 첫 번째 $는 split_cash 리스트의 A 원소에 접근하기 위한 것이고, 두 번째 $는 A 안의 데이터 프레임에서 cash_flow 열에 접근하기 위한 것입니다.

지침

100 XP
  • split_cash 데이터 프레임이 준비되어 있습니다. 또한 cash를 분할하는 데 사용한 grouping도 제공됩니다.
  • 리스트 구조를 확인하기 위해 split_cash를 출력하세요.
  • split_cash에서 회사 B의 cash_flow 열을 출력하세요.
  • 안타깝게도 회사 A가 폐업했습니다. 회사 A의 cash_flow를 0으로 설정하세요.
  • grouping을 사용해 unsplit()으로 split_cash 데이터 프레임을 다시 합치고, 결과를 cash_no_A에 할당하세요.
  • 마지막으로, 수정된 데이터 프레임을 확인하기 위해 cash_no_A를 출력하세요.