Come rimuovere le righe duplicate in r in modo che non ne rimanga nessuna
È possibile utilizzare i seguenti metodi in R per rimuovere righe duplicate da un frame di dati in modo che non ne rimanga nessuna nel frame di dati risultante:
Metodo 1: utilizzare Base R
new_df <- df[ ! (duplicated(df) | duplicated(df, fromLast= TRUE )), ]
Metodo 2: usa dplyr
library (dplyr) new_df <- df %>% group_by(across(everything())) %>% filter(n() == 1 )
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:
#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
Esempio 1: utilizzare Base R
Il codice seguente mostra come utilizzare le funzioni di base R per rimuovere righe duplicate dal frame di dati in modo che non ne rimanga nessuna:
#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
Tieni presente che ciascuna delle righe duplicate è stata rimossa dal frame di dati e nessuno dei duplicati viene mantenuto.
Esempio 2: utilizzo di dplyr
Il codice seguente mostra come utilizzare le funzioni nel pacchetto dplyr in R per rimuovere le righe duplicate dal frame di dati in modo che non ne rimanga nessuna:
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
Tieni presente che ciascuna delle righe duplicate è stata rimossa dal frame di dati e nessuno dei duplicati viene mantenuto.
Si noti inoltre che questo produce lo stesso risultato del metodo precedente.
Nota : per frame di dati estremamente grandi, il metodo dplyr sarà più veloce del metodo R di base.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre funzioni comuni in R:
Come eliminare le righe in R in base alla condizione
Come eliminare le righe con NA in una colonna specifica in R