[R-es] Eliminación de filas en data frame según versión del fichero de origen

Carlos Ortega cof en qualityexcellence.es
Lun Ene 23 18:35:25 CET 2017


Hola,

Esta puede ser una manera...

> library(data.table)
> dt <- as.data.table(df)
> dt[, tail(.SD,1), by=c('id', 'date')]
     id       date    value version
1: 0001 2016-01-01 18.86864       1
2: 0002 2016-01-10 13.44676       0
3: 0003 2016-02-01 19.16599       0


Saludos,
Carlos Ortega
www.qualityexcellence.es




El 23 de enero de 2017, 18:27, Rubén Coca <ruben.coca en gmail.com> escribió:

> Hola a todos,
> Pongamos que tengo un data frame en el que consolido observaciones
> procedentes de múltiples ficheros. Para simplificar:
> df <- data.frame(id = c(rep("0001", 4), rep("0002", 2), rep("0003", 3)),
>                  date = c(rep("2016-01-01", 4), rep("2016-01-10", 2),
> rep("2016-02-01", 3)),
>                  value = runif(n = 9, min = 10, max = 20),
>                  version = c(rep(0, 2), rep(1, 2), rep(0, 2), rep(0, 3)))
> El caso es que para un mismo id y date debo quedarme con la observación que
> tenga la versión más alta (descartando el resto). Se os ocurre alguna
> aproximación al problema?
> Muchas gracias por vuestra ayuda
> Rubén
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es