RでもエクセルのVLOOKUP関数が使いたい

データの件数が数万件、数十万件にもなってくると、エクセルで VLOOKUP 関数を使った時に悲劇に見舞われる。そのような人が多いようで、VLOOKUP 関数を高速化する方法などもあるようです。

大量データへのVLOOKUP関数を高速にする2つの方法

これはこれで覚えておいて損はなさそうです。が、R ならばもっとさくっとできます。

merge 関数を使う方法

名前の列が共通の以下のような x、y、z の3つのデータフレームがあります。

merge の使い方についてはこちらの記事が参考になる。英語だけど。

How to understand the different types of merge

The merge() function allows four ways of combining data:

  • Natural join: To keep only rows that match from the data frames, specify the argument all=FALSE.

  • Full outer join: To keep all rows from both data frames, specify all=TRUE.

  • Left outer join: To include all the rows of your data frame x and only those from y that match, specify all.x=TRUE.

  • Right outer join: To include all the rows of your data frame y and only those from x that match, specify all.y=TRUE.

    image0.jpg

plyr パッケージを使う方法

plyr パッケージをインストール事前にインストールしておきます。
インストールが終わったらライブラリを読み込みます。

join 関数で by にデータフレームの共通の列を指定する。すると、一致した行だけを結合して返してくれる。

type を指定すると、一致しなかった行の扱いを指定することもできる。
type =

  • inner: x と y の by がマッチする行のみ
  • left: x の全ての行を保持
  • right: y の全ての行を保持

たとえば、こんなふうに。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする