bartjoosen wrote:
> How about:
> 
> tapply(dat$x1,dat$subject,function(x) cumsum(x))
> which gives you a list for each subject.
> 
> this can be converted to a vector:
> do.call("c",tapply(dat$x1,dat$subject,function(x) cumsum(x)))
> 
> So if your data frame is ordered for your subjects:
> 
> cbind(your.data.frame,do.call("c",tapply(dat$x1,dat$subject,function(x)
> cumsum(x))))
> 
>

Sounds like a job for the eternally overlookked ave() function:

with(dat, ave(x1, subject, cumsum))


-- 
   O__  ---- Peter Dalgaard             Ă˜ster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])              FAX: (+45) 35327907

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to