R データフレーム・重複の取り扱い: 重複行を抽出・削除

UB3/informatics/r/dataframe_duplicate

このページの最終更新日: 2023/02/26

  1. 使用データ
  2. distinct() 関数
  3. unique() 関数

広告

使用データ

組み込みデータセット の ToothGrowth を使う。これは、ビタミン C またはオレンジジュースをいくつかの dose で投与されたモルモットの歯の長さのデータで、60 行 3 列から成る。

ToothGrowthデータセット

歯の長さ len にはほとんど重複がないが、supp はビタミン C またはオレンジジュース (VC or OJ)、dose は 0.5, 1.0, 2.0 で重複がある。supp, dose を中心に使用。

distinct() 関数

distinct() 関数は、tidyverse パッケージ に含まれる関数で、重複する行の最初のもののみを抽出する

基本形は distinct(データセット, 重複をチェックする列, オプション) である。オプションとしては、行の全てを表示する .keep_all = TRUE をよく使うことになるだろう。

distinct(ToothGrowth, supp)
  supp
1 VC
2 OJ


distinct(ToothGrowth, supp, .keep_all = TRUE)
 len supp dose
1 4.2  VC 0.5
2 15.2 OJ 0.5

unique() 関数

unique 関数にデータフレームを入れると、重複しない行のみが抽出される。

suppdose <- select(ToothGrowth, supp, dose)
unique(suppdose)

  supp dose
1 VC 0.5
11 VC 1.0
21 VC 2.0
31 OJ 0.5
41 OJ 1.0
51 OJ 2.0


広告

References

  1. r tidyverse 使い方 | データフレーム重複行を削除 distinct関数 – dplyrパッケージ. Link: Last access 2023/02/24.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。