分割してみよう
複数のグループのデータが1つのデータフレームにまとまっていることはよくあります。cash データフレームも第3章でその例として登場しました。2つのグループ(企業AとB)について、cash_flow と year の列がありました。では、このデータフレームを company ごとに2つの別々のデータフレームに分けたい場合はどうすればよいでしょうか。次の演習では、なぜそのように分けると便利なのかを見ていきますが、まずは split() 関数を使って、どのように実現するのかを確認しましょう。
分割に使う grouping を作成し、split() を使って2つのデータフレームからなる「リスト」を作成してください。
grouping <- cash$company
split_cash <- split(cash, grouping)
split_cash
$A
company cash_flow year
1 A 1000 1
2 A 4000 3
3 A 550 4
$B
company cash_flow year
4 B 1500 1
5 B 1100 2
6 B 750 4
7 B 6000 5
元のデータフレームに戻すには、unsplit(split_cash, grouping) を使います。
この演習はコースの一部です
金融のためのR入門
演習の手順
cashデータフレームはワークスペースに用意されています。year列から新しいgroupingを作成します。split()を使って、cashをyearごとに5つのデータフレームのリストに分割し、split_cashに代入します。split_cashを出力します。unsplit()を使って、データフレームを再び結合し、original_cashに代入します。- 最初の
cashデータフレームと比較できるよう、original_cashを出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define grouping from year
grouping <-
# Split cash on your new grouping
split_cash <-
# Look at your split_cash list
# Unsplit split_cash to get the original data back.
original_cash <-
# Print original_cash