始める無料で始める

分割してみよう

複数のグループのデータが1つのデータフレームにまとまっていることはよくあります。cash データフレームも第3章でその例として登場しました。2つのグループ(企業AとB)について、cash_flowyear の列がありました。では、このデータフレームを 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() を使って、cashyear ごとに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
コードを編集して実行