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

duplicated()の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!データの重複を見つける

仕訳伝票を通査していくにあたって、例えば、同じ伝票番号の伝票が存在しないかどうか調べたい。そのようなときには、duplicated()関数が便利。

 
 duplicated(je$num)  #  je: 仕訳のデータフレーム  num: 仕訳番号


考え方は、仕訳番号を上から順になめていき、ある番号と同じ番号が存在した場合に、TRUEを返す。したがって、初めに出てくる番号はFALSEであり次に同じ番号が出ればTRUEが返ってくるので、TRUEを数えれば重複した伝票番号の件数がわかる。

 sum(dupulicated(je$num))

!dplyrを使う

 ex %>% 
     group_by(id, day) %>%
     filter(n()>1)

キーとなる項目をグループにして、1を超えるものが重複という方式。