En este artículo, aprenderemos cómo eliminar filas duplicadas basadas en múltiples columnas usando dplyr en el lenguaje de programación R.
Trama de datos en uso:
lang value usage 1 Java 21 21 2 C 21 21 3 Python 3 0 4 GO 5 99 5 RUST 180 44 6 Javascript 9 48 7 Cpp 12 53 8 Java 21 21 9 Julia 6 6 10 Typescript 0 8 11 Python 3 0 12 GO 6 6
Eliminación de filas duplicadas en función de la columna única
La función distintiva() se puede usar para filtrar las filas duplicadas. Solo tenemos que pasar nuestro objeto R y el nombre de la columna como argumento en la función distintiva() .
Nota : hemos utilizado este parámetro » .keep_all= TRUE » en la función porque, de forma predeterminada , es FALSO e imprimirá solo los valores distintos de la columna especificada, pero queremos todas las columnas, así que tenemos que hacerlo VERDADERO, por ejemplo que imprimirá todas las demás columnas junto con la columna actual.
Sintaxis: distintiva(df, column_name, .keep_all= TRUE)
Parámetros:
df: objeto de marco de datos
column_name: nombre de la columna en función de qué filas duplicadas se eliminarán
Ejemplo: programa R para eliminar filas duplicadas basadas en una sola columna
R
library(dplyr) df <- data.frame (lang =c ('Java','C','Python','GO','RUST','Javascript', 'Cpp','Java','Julia','Typescript','Python','GO'), value = c (21,21,3,5,180,9,12,21,6,0,3,6), usage =c(21,21,0,99,44,48,53,21,6,8,0,6)) distinct(df, lang, .keep_all= TRUE)
Producción:
lang value usage 1 Java 21 21 2 C 21 21 3 Python 3 0 4 GO 5 99 5 RUST 180 44 6 Javascript 9 48 7 Cpp 12 53 8 Julia 6 6 9 Typescript 0 8
Eliminación de filas duplicadas en función de varias columnas
Podemos eliminar los valores duplicados sobre la base de las columnas ‘ valor ‘ y ‘ uso ‘, pasando por alto esos nombres de columna como un argumento en la función distinta.
Sintaxis : distinto (df, col1, col2, .keep_all= TRUE)
Parámetros :
df : objeto de marco de datos
col1,col2 : nombre de columna basado en qué filas duplicadas se eliminarán
Ejemplo: programa R para eliminar filas duplicadas en función de varias columnas
R
library(dplyr) df <- data.frame (lang =c ('Java','C','Python','GO','RUST','Javascript', 'Cpp','Java','Julia','Typescript','Python','GO'), value = c (21,21,3,5,180,9,12,21,6,0,3,6), usage =c(21,21,0,99,44,48,53,21,6,8,0,6)) distinct(df, value, usage, .keep_all= TRUE)
Producción:
lang value usage 1 Java 21 21 2 Python 3 0 3 GO 5 99 4 RUST 180 44 5 Javascript 9 48 6 Cpp 12 53 7 Julia 6 6 8 Typescript 0 8
Eliminar todas las filas duplicadas del marco de datos
En este caso, solo tenemos que pasar el marco de datos completo como un argumento en la función distintiva(), luego verifica todas las filas duplicadas para todas las variables/columnas y las elimina.
Sintaxis : distinto (df)
Parámetros :
df : objeto de marco de datos
Ejemplo: programa R para eliminar todas las filas duplicadas de la base de datos
R
library(dplyr) df <- data.frame (lang =c ('Java','C','Python','GO','RUST','Javascript', 'Cpp','Java','Julia','Typescript','Python','GO'), value = c (21,21,3,5,180,9,12,21,6,0,3,6), usage =c(21,21,0,99,44,48,53,21,6,8,0,6)) distinct(df)
Producción:
lang value usage 1 Java 21 21 2 C 21 21 3 Python 3 0 4 GO 5 99 5 RUST 180 44 6 Javascript 9 48 7 Cpp 12 53 8 Julia 6 6 9 Typescript 0 8 10 GO 6 6
Usando la función duplicada()
En este enfoque, hemos usado duplicated() para eliminar todas las filas duplicadas, aquí se usa la función duplicada para verificar las filas duplicadas, luego los nombres/variables de las columnas se pasan en la función duplicada.
Nota : hemos usado el operador NOT ( ! ) porque queremos filtrar o eliminar las filas duplicadas, ya que la función duplicada proporciona las filas duplicadas, las negamos usando ‘ ! ‘ operador.
Sintaxis:
gl %>%
filtro(! duplicado (cbind(col1, col2,..)))
Parámetros:
col1, col2: Pase los nombres de las columnas en función de las cuales desea eliminar los valores duplicados
cbind() : se usa para unir nombres de columnas de manera que se puedan usar varios nombres de columnas para filtrar
duplicado(): devuelve las filas duplicadas
Ejemplo: programa R para eliminar duplicados usando duplicate()
R
library(dplyr) df <- data.frame (lang =c ('Java','C','Python','GO','RUST','Javascript', 'Cpp','Java','Julia','Typescript','Python','GO'), value = c (21,21,3,5,180,9,12,21,6,0,3,6), usage =c(21,21,0,99,44,48,53,21,6,8,0,6)) df %>% filter(!duplicated(cbind(value, usage)))
Producción:
lang value usage 1 Java 21 21 2 Python 3 0 3 GO 5 99 4 RUST 180 44 5 Javascript 9 48 6 Cpp 12 53 7 Julia 6 6 8 Typescript 0 8
Publicación traducida automáticamente
Artículo escrito por sudhanshublaze y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA