[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