On Wed, 2 Nov 2011, Pierre Chausse wrote:
I have a suggestion for kernapply for ts objects. When we choose the option circular=F, the returned series don't have the correct dates. The
That's a matter of opinion. A kernel is applied in the same way as an MA filter, to historical data.
removed dates are all at the beginning instead of half at the beginning and half at the end. It is particularly useful when we need to smooth the series (or remove a trend using a filter) before estimating a model (like in macroeconomics) or simply to plot the original series with the smoothed one. Of course, there is always the option of doing it by hand of the use circular=T and trim the series but I thought it would be nicer that way. Here is my suggestion (maybe not the nicest way to do it but it works) kernapply.ts <- function (x, k, circular = FALSE, ...) { if (!is.matrix(x)) { y <- kernapply.vector(as.vector(x), k, circular=circular) ts (y, end=end(x), frequency=frequency(x)) } else y <- apply(x, MARGIN=2L, FUN=kernapply, k, circular=circular) if(circular) ts (y, end=end(x), frequency=frequency(x)) else { y <- as.ts(y) t1 <- tsp(x)[1]+(length(k[[1]])-1)/tsp(x)[3] t2 <- tsp(x)[2]-(length(k[[1]])-1)/tsp(x)[3] tsp(y) <- c(t1,t2,tsp(x)[3]) return(y) } } -- *Pierre Chauss?* Assistant Professor Department of Economics University of Waterloo [[alternative HTML version deleted]]
-- Brian D. Ripley, rip...@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel