On Thu, Jun 17, 2010 at 6:26 AM, Nicholas R Frazier <nrf...@gmail.com> wrote: > I'm quite new to R. I have a time series of annual state population > estimates from census.gov, and I'd like to get a time series of monthly > estimates, by a nonlinear interpolation.
Please provide some test data in reproducible form next time. See posting guide. We can use na.spline in the zoo package. First create some test data, z. The time index of our test data is 2000, 2001, 2002 representing three years. Use na.spline with an xout vector spaced 1/12 apart. This will give a time index of 2000 (representing Jan), 2000 + 1/12 (representing Feb), etc. An alternative would be to use the yearmon class. That can be done using aggregate and then use na.spline as before. Finally lets plot the data plotting the annual data in red and the monntly in black. screen = 1 says plot them on the same panel (rather than using two separate panels). library(zoo) # test data N <- 3 z <- zoo(seq(N)^2, seq(2000, length = N)) # annual data # 1. disaggregate to months using splines z.mo <- na.spline(z, xout = seq(start(z), end(z), 1/12)) z.mo # 2. same but using "yearmon" class z.ym <- aggregate(z, as.yearmon) z.ym.m <- na.spline(z, xout = seq(start(z.ym), end(z.ym), 1/12)) z.ym.m plot(cbind(z.ym.m, z.ym), type = "o", col = c("black", "red"), screen = 1) ______________________________________________ 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.