R で重複行を削除する方法 (例あり)
R のデータ フレームから重複行を削除するには、次の 2 つの方法のいずれかを使用できます。
方法 1: Base R を使用する
#remove duplicate rows across entire data frame df[ ! duplicated(df), ] #remove duplicate rows across specific columns of data frame df[ ! duplicated(df[c(' var1 ')]), ]
方法 2: dplyr を使用する
#remove duplicate rows across entire data frame df %>% distinct(.keep_all = TRUE ) #remove duplicate rows across specific columns of data frame df %>% distinct(var1, .keep_all = TRUE )
次の例は、次のデータ フレームでこの構文を実際に使用する方法を示しています。
#define data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('Guard', 'Guard', 'Forward', 'Guard', 'Center', 'Center')) #view data frame df team position 1A Guard 2 A Guard 3 A Forward 4 B Guard 5B Center 6B Center
例 1: Base R を使用して重複行を削除する
次のコードは、R 基本関数を使用してデータ フレームから重複行を削除する方法を示しています。
#remove duplicate rows from data frame
df[ ! duplicated(df), ]
team position
1A Guard
3 A Forward
4 B Guard
5B Center
次のコードは、ベース R を使用してデータ フレーム内の特定の列から重複行を削除する方法を示しています。
#remove rows where there are duplicates in the 'team' column
df[ ! duplicated(df[c(' team ')]), ]
team position
1A Guard
4 B Guard
例 2: dplyr を使用して重複行を削除する
次のコードは、 dplyrパッケージのunique()関数を使用してデータ フレームから重複行を削除する方法を示しています。
library (dplyr) #remove duplicate rows from data frame df %>% distinct(.keep_all = TRUE ) team position 1A Guard 2 A Forward 3 B Guard 4B Center
.keep_all引数は、元のデータ フレーム内のすべての列を保持するように R に指示することに注意してください。
次のコードは、 distinct()関数を使用して、データ フレーム内の特定の列から重複行を削除する方法を示しています。
library (dplyr) #remove duplicate rows from data frame df %>% distinct(team, .keep_all = TRUE ) team position 1A Guard 2 B Guard
追加リソース
次のチュートリアルでは、R で他の一般的な関数を実行する方法について説明します。