1. 학습
  2. /
  3. 강의
  4. /
  5. 金融のためのR入門

Connected

연습 문제

Split-Apply-Combine

データフレームをあるグループで分割し、各グループに変換を適用し、その結果を再び1つのデータフレームに結合する――これはデータサイエンスでよくある課題です。R ではこの一連の流れを「split-apply-combine」と呼びます。Intermediate R for Finance では、この種の問題や便利な関数をさらに学びますが、ここではシンプルな例を試してみましょう。

たとえば cash データフレームで、会社 A の cash_flow を2倍、会社 B の cash_flow を3倍にしたいとします。

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 にアクセスするためのものです。2つ目の $ は、A 内のデータフレームにある cash_flow 列にアクセスするためのものです。

지침

100 XP
  • split_cash データフレームが用意されています。cash を分割するのに使った grouping も利用できます。
  • リストの中身を確認するために、split_cash を表示してください。
  • split_cash 内で、会社 B の cash_flow 列を表示してください。
  • 悲しいことに、会社 A が倒産したことが分かりました。会社 A の cash_flow を 0 に設定してください。
  • grouping を使って、split_cash データフレームを unsplit() し、その結果を cash_no_A に代入してください。
  • 最後に、変更後のデータフレームを確認するために cash_no_A を表示してください。