[R-es] Acumulado hasta una fecha exacta según individuo
"Olivier Nuñez"
onunez en unex.es
Lun Abr 28 10:13:52 CEST 2014
Esto debería funcionar:
datos2[,list(unique(ENTRADA),sum(CANTIDAD*(FECHA<ENTRADA))),by=ID]
Un saludo. Olivier
> En primer lugar, muchas gracias a Carlos J. Gil Bellosta, tanto por la rapidez como
> por la precisión de su respuesta. El código que planteas es exactamente lo que
> preguntaba.
>
>
>
> La única duda que me queda es si el data.table final que queda, sólo puede recoger
> cantidades totales que no sean nulas. A modo de ejemplo, supongamos que los datos
> contuvieran, para el sijeto ID=100, una variable "ENTRADA" que fuese ANTERIOR A
> TODAS LAS VARIABLES "FECHA" DEL SUJETO:
>
>
>
> require(data.table)
> datos2 <- data.table(data.frame(ID = c(rep(100,3),rep(120,2)),
> FECHA = as.Date(c("02/08/2005", "19/10/2005", "09/12/2007",
> "11/05/2006", "20/12/2009"),"%d/%m/%Y"),
> ENTRADA = c(as.Date(rep("30/07/2004",3),"%d/%m/%Y"),
>
> as.Date(rep("25/02/2008",2),"%d/%m/%Y")),
> CANTIDAD = c(25, 15, 12, 35, 2)))
>
>
> En ese caso, sería de esperar un resultado del tipo:
>
>
>
>> res
>
> ID total
>
> 1: 100 0 # SE REMARCA QUE NO HAY TOTAL ACUMULADO PARA ID=100
>
> 2: 120 35
>
>
>
> Y el resultado del código omite directamente el total acumulado del sujeto ID=100:
>
>
>
>> res
>
> ID total
>
> 1: 120 35
>
>
>
> En cualquier caso, muchas gracias.
>
>
>
>
>
>
>
>
>
>
>
>
>
> [[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
>
--
____________________________________
Olivier G. Nuñez
Email: onunez en unex.es
http://kolmogorov.unex.es/~onunez
Tel : +34 663 03 69 09
Departamento de Matemáticas
Universidad de Extremadura
Más información sobre la lista de distribución R-help-es