En R, condicionalmente quitar filas duplicadas dentro de IDENTIFICACIÓN, la Fecha y el Evento

0

Pregunta

De fondo

Tengo d, un dataframe:

d <- data.frame(ID = c("a","a","a","a", "b","b"),
                event = c("G12","G12","O99","O99","B4","B2"),
                date = as.Date(c("2011-01-01","2011-01-01","2011-12-23","2011-12-23","2011-01-01","2011-07-12")),
                stringsAsFactors=FALSE)

Como se puede ver, ID a tiene 4 filas, de las cuales 2 son repeticiones basado en event y date (filas 2 y 4 son los duplicados).

El Problema y la Salida Deseada

Me gustaría eliminar estas filas duplicadas por preguntar R para eliminar filas dentro de ID que tienen el mismo event y date. En otras palabras, me gustaría algo que se parece a esto:

d <- data.frame(ID = c("a","a", "b","b"),
                event = c("G12","O99","B4","B2"),
                date = as.Date(c("2011-01-01","2011-12-23", "2011-01-01","2011-07-12")),
                stringsAsFactors=FALSE) 

Lo he intentado

He hecho un intento, pero no es lo que hay:

d2 <- subset(d, duplicated(d$ID, d$event))

Los pensamientos?

data.table dplyr duplicates r
2021-11-23 17:55:50
1

Mejor respuesta

1

Una opción es el uso único

unique(d)
#>   ID event       date
#> 1  a   G12 2011-01-01
#> 3  a   O99 2011-12-23
#> 5  b    B4 2011-01-01
#> 6  b    B2 2011-07-12

El uso de data.table

library(data.table)

dt <- data.table(d)

unique(dt[, .(event, date), by = ID])

Creado en 2021-11-23 por el reprex paquete (v2.0.1)

2021-11-25 13:24:16

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................