Hi: Look into the zoo package and its rollapply() function. The package is designed to handle irregular and multiple series.
HTH, Dennis On Mon, Nov 8, 2010 at 12:16 PM, Richard Vlasimsky < richard.vlasim...@imidex.com> wrote: > Does anyone recommend a more efficient way to "roll" values in a time > series dataset? > > I merged a bunch of different time series datasets (10's of thousands of > them) whose observation dates and sampling interval differ. Some time > series observations are reported at the beginning of the month, some at the > end, some on Mondays, some on Wednesday, some annually, etc. > > In the process of merging all of the irregular time series (by date > observed), a significant number of NA's appear in the dataset where I really > want the last reported value 'rolled' forward. > > To use a concrete example, a time series that has reported values at the > beginning of every month shows NA's for every day except the date it was > reported (in this case, the first of the month). I want the value to roll > forward so that NA's after the first of the month are replaced with a last > reported value. > > I wrote the following for loop to accomplish the task on the object > 'dataset', however it is far to slow too process 10's of thousands of > different time series with 15,000 observations each. At this rate it is > going, it would take weeks to complete. > > for(j in 1:length(names(dataset))) > { > last<-NA; > for(i in 1:length(row.names(dataset))) > ifelse(is.na(dataset[i,j]), test[i,j] <- last, > last<-dataset[i,j]); > > } > > One would think a rather simple operation as this could perform much > faster. My sense is using the "apply" function is the way to go, however I > just can't get my head around a function that would reference the last > reported value. > > Any guidance is appreciated. > > -Richard > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.