Jak usunąć zduplikowane linie w r, aby nie pozostały żadne


Możesz użyć następujących metod w R, aby usunąć zduplikowane wiersze z ramki danych, tak aby żaden nie pozostał w wynikowej ramce danych:

Metoda 1: Użyj podstawy R

 new_df <- df[ ! (duplicated(df) | duplicated(df, fromLast= TRUE )), ]

Metoda 2: użyj dplyr

 library (dplyr)

new_df <- df %>%
          group_by(across(everything())) %>%
          filter(n() == 1 )

Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z następującą ramką danych:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(20, 20, 28, 14, 13, 18, 27, 13))

#view data frame
df

  team points
1 to 20
2 to 20
3 to 28
4 to 14
5 B 13
6 B 18
7 B 27
8 B 13

Przykład 1: użyj Base R

Poniższy kod pokazuje, jak używać funkcji podstawowych języka R do usuwania zduplikowanych wierszy z ramki danych, tak aby żaden nie pozostał:

 #create new data frame that removes duplicates so none are left
new_df <- df[ ! (duplicated(df) | duplicated(df, fromLast= TRUE )), ]

#view new data frame
new_df

  team points
3 to 28
4 to 14
6 B 18
7 B 27

Należy zauważyć, że każdy z duplikatów wierszy został usunięty z ramki danych i żaden z duplikatów nie został zachowany.

Przykład 2: użycie dplyr

Poniższy kod pokazuje, jak używać funkcji pakietu dplyr w R do usuwania zduplikowanych wierszy z ramki danych, tak aby żaden nie pozostał:

 library (dplyr)

#create new data frame that removes duplicates so none are left
new_df <- df %>%
          group_by(across(everything())) %>%
          filter(n() == 1 )

#view new data frame
new_df

# A tibble: 4 x 2
# Groups: team, points [4]
  team points
    
1 to 28
2 to 14
3 B 18
4 B 27

Należy zauważyć, że każdy z duplikatów wierszy został usunięty z ramki danych i żaden z duplikatów nie został zachowany.

Należy również pamiętać, że daje to taki sam wynik jak poprzednia metoda.

Uwaga : w przypadku wyjątkowo dużych ramek danych metoda dplyr będzie szybsza niż podstawowa metoda R.

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 *