No, it's a little more complex. I do not want to interpolate var2 as a function of time. I want interpolate var2 as a function of var1, but in an iterative chronological sequence that does require matching times first. So the two var1 values for the interpolation are chosen such that var1 times = var2 times. But every consecutive pair in the var2 time series is fitted separately to the corresponding, simultaneously measured var1 pair. By chance, on quick glance it looks like the suggested method yields the desired outputs for these example data, but it doesn't actually work for my real data set.
The idea here is that I have a very high frequency, smoothly changing time series for var 1, but var 2 is the variable of interest and it was measured at a far lower frequency. Fortunately, there is a strongly linear var2~var1 relationship (changes in var2 reflect change in var1), _but the relationship shifts somewhat over time_, so in order to accurately predict var2 from var1, we need a slightly different function for different portions of the timeseries. Using the method suggested earlier, the interpolated var2 time series plot is "chunky" even though it should be smooth like the var1 time series. That's how I know it didn't work. What I'm thinking of is sort of like quantile regression between var1 and var2, but at each iteration we are regressing at the smallest possible grain (between two data points). Maybe use approxfun in a for loop somehow for each consecutive pair in the var2 time series? Arrgh! I'm a reasonably good R coder but I've spent hours on this one and it's REALLY driving me completely nuts.---steve jim holtman wrote: > Is this what you want? > > >> var1_times<-c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) >> var1_values<-c(0, 0.5, 1.0, 1.5, 2.0, 2.5, 2.0, 1.5, 1.0, 0.5, 0) >> >> var2_times<-c(0, 2.0, 5.0, 7, 10.0) >> var2_values<-c(50, 55, 60, 55, 50) >> >> new_v2 <- approxfun(var2_times, var2_values, rule=2) >> >> combined <- data.frame(time=var1_times, v1=var1_values, >> v2=new_v2(var1_times)) >> >> combined >> > time v1 v2 > 1 0 0.0 50.00000 > 2 1 0.5 52.50000 > 3 2 1.0 55.00000 > 4 3 1.5 56.66667 > 5 4 2.0 58.33333 > 6 5 2.5 60.00000 > 7 6 2.0 57.50000 > 8 7 1.5 55.00000 > 9 8 1.0 53.33333 > 10 9 0.5 51.66667 > 11 10 0.0 50.00000 > > > On 10/1/07, Steve Powers <[EMAIL PROTECTED]> wrote: > >> I have a time series for two variables measured simultaneously, but at >> different intervals. The variables are not independent, so the patterns >> in the times series are very similar (one variable goes up when the >> other goes up, etc). >> >> For example, let's pretend my data look something like this (but with >> more noise)... >> >> var1_times<-c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) >> var1_values<-c(0, 0.5, 1.0, 1.5, 2.0, 2.5, 2.0, 1.5, 1.0, 0.5, 0) >> >> var2_times<-c(0, 2, 5.0, 7, 10.0) >> var2_values<-c(50, 55, 60, 55, 50) >> >> >> Note that var2 is always sampled at a time when a corresponding var1 >> measurement was taken, but some var1 measurements were taken alone. I'm >> trying to increase the frequency of the var2 time series in a model by >> taking into account the parallel information in the var1 time series. >> Essentially, this means I want to do a local regression of >> var2_values~var1_values by fitting a different relationship for each >> time interval. I've used approx and approxfun in the past and found them >> helpful, but can't figure out how to employ them in this case. Any >> thoughts on how to do this? In the end, I want interpolated values for >> var2 that line up with the var1 times.---steve >> >> >> I'm using R version 2.4 in Windows XP. >> >> ______________________________________________ >> 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.