トップ 一覧 検索 ヘルプ RSS ログイン 印刷

merge()の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
二つのデータフレームをキーで結合したいとき。

たとえば、顧客マスタデータと販売データがあるときに、顧客マスタには顧客名が入っているが、販売データには顧客番号しか入っていないことがある。

その際、顧客マスタデータ(customer)の顧客番号(cust_num)と販売データ(sales)の顧客番号(cust_num)とをキー項目(連結環)として、二つのデータを結合して、一つにまとめることができる。


 merge(x=customer, y=sales
     , by.x=c("cust_num")
     , by.y=c("cust_num")
   )


なお、キー項目を複数にしたいこともあるだろう。たとえば、販売データと出荷データを品目別に月単位でまとめたいとする。

販売データ

,年月,品目,販売金額
,20x1年04月,えんぴつ,100
,20x1年05月,えんぴつ,150
,20x1年04月,消しゴム,300
,20x1年05月,消しゴム,400

出荷データ

,年月,品目,出荷数量
,20x1年04月,えんぴつ,20
,20x1年05月,えんぴつ,30
,20x1年04月,消しゴム,6
,20x1年05月,消しゴム,8

あわせて、

,年月,品目,販売金額,出荷数量
,20x1年04月,えんぴつ,100,20
,20x1年05月,えんぴつ,150,30
,20x1年04月,消しゴム,300,6
,20x1年05月,消しゴム,400,8

そのときは、

 merge(x=販売データ, y=出荷データ
   , by.x=c("年月","品目")
   , by.y=d("年月","品目")
 )

なお、オプションで、all=TRUEを設定しないと、結合できるデータのみが結合される。

{{category オブジェクト操作}}