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 で他の一般的な関数を実行する方法について説明します。

条件に基づいてRで行を削除する方法
Rの特定の列でNAの行を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です