LoginSignup
9
10

More than 5 years have passed since last update.

R言語でSQLのdistinctのような処理(特定の列で重複を取り除いたデータを得る)

Last updated at Posted at 2014-09-16

目的

R言語のデータフレームから、特定の列の値を一意にしたデータを取り出す。

方法

データフレーム[!duplicated(データフレーム$一意にしたい列名),]

売買履歴データからユーザーのメールアドレスを一意(重複なし)にしてデータを取りたい。ついでにデータにある顧客名列と性別列も付けて取りたい(同じメールアドレスで複数の名前や性別がある場合は、そのうち一つだけ取れればいい)。

重複なしのメールアドレスだけならunique()で取れるのですが、この場合顧客名と性別は後から追加しないといけません。

コマンド例

売買履歴[!duplicated(売買履歴$メール),c("メール","名前","性別")]

おまけ

重複分として削除されたデータは次のコマンドで取得できます。
(duplicated()につけていた!を外しただけ)

売買履歴[duplicated(売買履歴$メール),c("メール","名前","性別")]

以上です

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10