It's a rather risky idea to call your function aggregate.zoo -- that's actually a pre-existing function and it could (will!) confuse the method dispatch system.
In short, S3 methods use the name convention generic.class (e.g., aggregate is the generic and zoo is the class) so when you just use aggregate (a S3 generic function) it looks at the class of the object and if it finds zoo, it will attempt to apply aggregate.zoo to it. E.g., library(zoo) z <- zoo(1:100, Sys.Date() + 1:100) aggregate(z, as.Date(as.yearmon(time(z))), mean) # Then I define your function aggregate.zoo <- function(series) { agg <- aggregate(data=series, value ~ month, ppk, lsl=1300, usl=1500) return (zoo(x=agg$value, order.by=agg$month)) } # Then I go away for a few days and try my same command aggregate(z, as.Date(as.yearmon(time(z))), mean) # What just happened?!?!?! Hope this helps, Michael On Tue, Apr 17, 2012 at 10:11 AM, Robert Latest <boblat...@gmail.com> wrote: > Hello all, > > followup to yesterday's question: Part of my confusion was caused by > my embarrassing mistake of overwriting the "ppk" function with another > object, which of course broke the next iteration of the loop. > > Secondly, I got exactly what I wanted like this: > > aggregate.zoo <- function(series) { > agg <- aggregate(data=series, value ~ month, ppk, lsl=1300, usl=1500) > return (zoo(x=agg$value, order.by=agg$month)) > } > l1 = split(df, df$tool) > l2 = lapply(l1, aggregate.zoo) > l3 = do.call(merge, l2) > > I puzzled this together from various example with only 80% > understanding how it works and why. > > Regards, > robert > > ______________________________________________ > 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. ______________________________________________ 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.