Como remover linhas duplicadas em r para que não reste nenhuma
Você pode usar os seguintes métodos em R para remover linhas duplicadas de um quadro de dados para que nenhuma permaneça no quadro de dados resultante:
Método 1: Use Base R
new_df <- df[ ! (duplicated(df) | duplicated(df, fromLast= TRUE )), ]
Método 2: use dplyr
library (dplyr) new_df <- df %>% group_by(across(everything())) %>% filter(n() == 1 )
Os exemplos a seguir mostram como usar cada método na prática com o seguinte quadro de dados:
#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
Exemplo 1: use Base R
O código a seguir mostra como usar funções base R para remover linhas duplicadas do quadro de dados para que nenhuma permaneça:
#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
Observe que cada uma das linhas duplicadas foi removida do quadro de dados e nenhuma das linhas duplicadas foi retida.
Exemplo 2: usando dplyr
O código a seguir mostra como usar as funções do pacote dplyr em R para remover linhas duplicadas do quadro de dados para que nenhuma permaneça:
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
Observe que cada uma das linhas duplicadas foi removida do quadro de dados e nenhuma das linhas duplicadas foi retida.
Observe também que isso produz o mesmo resultado do método anterior.
Nota : Para quadros de dados extremamente grandes, o método dplyr será mais rápido que o método R base.
Recursos adicionais
Os tutoriais a seguir explicam como executar outras funções comuns em R:
Como excluir linhas em R com base na condição
Como deletar linhas com NA em uma coluna específica em R