トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

merge()

auditR

二つのデータフレームをキーで結合したいとき。

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

その際、顧客マスタデータ(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を設定しないと、結合できるデータのみが結合される。

[オブジェクト操作]


Last updated 2015-08-07 | auditR (c) N.Nawata