On Wed, Aug 25, 2010 at 7:43 AM, skan <juanp...@gmail.com> wrote: > > down vote favorite > > > Hello > > I have a zoo series. It lasts 10 years and its frequency is 15min. > > I'd like to get a new zoo series (or vector) with the same number of > elements, whith each element equal to the first element of the day. That's, > The first element everyday is repeated throughout the wole day. > > This is not same as aggregate(originalseries,as.Date,head,1) because this > gives a vector with just one element for each day. > > cheers >
Here are a few more solutions too: library(zoo) library(chron) z <- zoo(1:10, chron(0:9/5)) # aggregate / na.locf z.ag <- aggregate(z, as.Date, head, 1) na.locf(z.ag, xout = time(z)) # duplicated / na.locf z.na <- ifelse.zoo(!duplicated(as.Date(time(z))), z, NA) na.locf(z.na) # ave - as before zz <- z zz[] <- ave(coredata(z), as.Date(time(z)), FUN = function(x) head(x, 1)) zz ______________________________________________ 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.