Saltar al contenido

R equivalente de SELECT DISTINCT en dos o más campos/variables

Después de investigar en varios repositorios y sitios de internet al terminar nos encontramos con la solución que te mostramos a continuación.

Solución:

unique trabaja en data.frame entonces unique(df[c("var1","var2")]) debería ser lo que quieres.

Otra opción es distinct desde dplyr paquete:

df %>% distinct(var1, var2) # or distinct(df, var1, var2)

Nota:

Para versiones anteriores de dplyr (< 0.5.0, 2016-06-24) distinct paso adicional requerido

df %>% select(var1, var2) %>% distinct

(o manera antigua distinct(select(df, var1, var2))).

La respuesta de @ Marek es obviamente correcta, pero puede estar desactualizada. La corriente dplyrLa versión (0.7.4) permite un código aún más simple:

Simplemente use:

df %>% distinct(var1, var2)

Si desea mantener todas las columnas, agregue

df %>% distinct(var1, var2, .keep_all = TRUE)

Para MANTENER todas las demás variables en df, use esto:

unique_rows <- !duplicated(df[c("var1","var2")])

unique.df <- df[unique_rows,]

Otro método menos recomendado es usar row.names() # (ver el comentario de David a continuación):

unique_rows <- row.names(unique(df[c("var1","var2")]))

unique.df <- df[unique_rows,]

Recuerda dar difusión a esta crónica si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *