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
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a