Dear Erik, Thank you very much. Probably it is exactly "zoo" what I have beenlooking for. Actually "rollapply" looks like something I could use, but...
For some reasons beyond me, the following attempts in which I tried to apply my home-made 'fun' to rollaply miserable failed. complexFn <- function(a,b){ c <- (a+b)/2 return(c) } x <- zoo(1:10) # OK with built in function rollapply(x,width=2,mean) # ALL WRONG rollapply(x,width=2, complexFn) rollapply(x,width=2, "complexFn") rollapply(x,width=2, FUN=complexFn) rollapply(x,width=2, FUN<-function(a,b){(a+b)/2} ) # ALMOST GOOD (=WRONG) rollapply(x,width=2, FUN<-function(a,b) complexFn) However when I rewrote my fn to have only one argument, rollapply works fine. complexFn <- function(ab){ a <- ab[1] b <- ab[2] c <- (a+b)/2 return(c) } x <- zoo(1:10) rollapply(x,width=2, complexFn) Now, it would be nice to figure out how to use rollapply with my original two-argument function. (surely I dont want to rewrite all of my references to complexFn... ). R being an OO language I would have a look at overloading (well... for the first glance overloading is not as straightforward as in Java or C++). Of course the easiest thing would be to make rollaply work with my two- argument function. I am sure it is pretty easy... for people who already know it... ______________________________________________ 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.