Jak usunąć zduplikowane wiersze w r (z przykładami)


Możesz użyć jednej z dwóch metod, aby usunąć zduplikowane wiersze z ramki danych w R:

Metoda 1: Użyj podstawy 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 ')]), ]

Metoda 2: użyj 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 )

Poniższe przykłady pokazują, jak zastosować tę składnię w praktyce z następującą ramką danych:

 #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

Przykład 1: Usuń zduplikowane wiersze za pomocą Base R

Poniższy kod pokazuje, jak usunąć zduplikowane wiersze z ramki danych za pomocą funkcji podstawowych języka R:

 #remove duplicate rows from data frame
df[ ! duplicated(df), ]

  team position
1A Guard
3 A Forward
4 B Guard
5B Center

Poniższy kod pokazuje, jak usunąć zduplikowane wiersze z określonych kolumn w ramce danych przy użyciu podstawowego R:

 #remove rows where there are duplicates in the 'team' column
df[ ! duplicated(df[c(' team ')]), ]

  team position
1A Guard
4 B Guard

Przykład 2: Usuń zduplikowane wiersze za pomocą dplyr

Poniższy kod pokazuje, jak usunąć zduplikowane wiersze z ramki danych przy użyciu funkcji odrębnych() z pakietu dplyr :

 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

Zauważ, że argument .keep_all mówi R, aby zachował wszystkie kolumny w oryginalnej ramce danych.

Poniższy kod pokazuje, jak używać funkcji odrębne() do usuwania zduplikowanych wierszy z określonych kolumn w ramce danych:

 library (dplyr)

#remove duplicate rows from data frame
df %>%
  distinct(team, .keep_all = TRUE )

  team position
1A Guard
2 B Guard

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe funkcje w R:

Jak usunąć wiersze w R na podstawie warunku
Jak usunąć wiersze z NA w określonej kolumnie w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *