Se muestran diferentes formas en R de como eliminar duplicados en un dataframe definido inicialmente.
Cargar datos para ejemplos
sexo <- c(rep("hombre",5),rep("mujer",5))
pais <- c(rep("francia",3),rep("italia",3),rep("portugal",4))
datos <- data.frame(sexo=sexo,pais=pais)
head(datos, n=10)
# sexo pais
# 1 hombre francia
# 2 hombre francia
# 3 hombre francia
# 4 hombre italia
# 5 hombre italia
# 6 mujer italia
# 7 mujer portugal
# 8 mujer portugal
# 9 mujer portugal
# 10 mujer portugal
Eliminar duplicados de un dataframe
datos[!duplicated(datos), ]
# sexo pais
# 1 hombre francia
# 2 hombre italia
# 3 mujer italia
# 4 mujer portugal
Eliminar duplicados forma simple
#install.packages("dplyr") # Instalar de manipulación de dataframes "dplyr"
library(dplyr) # Cargar la librería de manipulación de dataframes "dplyr"
distinct(datos)
# sexo pais
# 1 hombre francia
# 2 hombre italia
# 3 mujer italia
# 4 mujer portugal
Obtener el vector de duplicados
duplicated(datos)
# [1] FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE TRUE TRUE
Selecionar los elementos no repetidos de una o varias columnas
distinct(datos, pais)
# pais
# 1 francia
# 2 italia
# 3 portugal
Contar duplicados
nrow(datos[duplicated(datos), ])
# [1] 6
Seleccionar duplicados de un dataframe
datos[duplicated(datos), ]
# sexo pais
# 2 hombre francia
# 3 hombre francia
# 5 hombre italia
# 8 mujer portugal
# 9 mujer portugal
# 10 mujer portugal
Tengo filas donde un conjunto de variables están repetidas. No quiero que conserve siempre la primera obsevaion y elimine las demás.
Quiero que me conserve , sujeto a una condición. Donde una variable varialbe dummy sea 1.
¿Cómo lo hago?
¿Sigues ahí?
hola, como puedo eliminar nombres completos duplicadoso parecidos(ejemplo:Diego calvo, diego calvo) de una lista.
saludos.
hola Roger,
una forma de resolverlo es que pases todo a mayúscula o minúscula para que tengan el mismo formato y eliminarlos.
Saludos
Hola Diego, muchas gracias por compartir tu conocimiento.
Quisiera consultarte si conocés alguna otra forma de quitar duplicados de 2 más campos en conjunto pero más rápido que el método !duplicated. Tengo unos 50 MM de registros y tarda un poco.
Muchas gracias
Roger, suelo usa el siguiente código:
filter(dataset,!grepl(«diego calvo»,Nombre_del_campo))
Hola! Quiero contar la cantidad de veces que se repite una palabra en una columna de palabras, como lo puedo hacer?
Hola deseo solo obtener los datos que no presenta duplicado, registro únicos), alguien puede ayudarme
Quiero conservar los duplicados en una nueva matrix