Hi R experts, I have the following timeseries data:
#example data structure a <- c(NA,1,NA,5,NA,NA,NA,10,NA,NA) c <- c(1:10) df <- data.frame(timestamp=a, sequence=c) print(df) where i would like to linearly interpolate between the points 1,5, and 10 in 'timestamp'. Original timestamps should not be modified. Here the code I use to run the interpolation (so far): # linear interpolation print(c) results <- approx(df$sequence, df$timestamp, n=NROW(df)) print(results) df$timestamp <- results$y # plotting plot(c, a, main = "Linear Interpolation with approx") points(results, col = 2, pch = "*") # new dataframe print(df) when looking at the result dataframe however, I can see that the original timestamps have been shifted as well. however would i would like to have is a result where the timestamps at position 2,4 and 8 remain unchanged at the values 1,5, and 10. I also would like values before the first item to be constant. So the dataframe should look like this: timestamp sequence 1 1.000000 1 2 1.000000 2 3 3.000000 3 4 5.000000 4 5 6.250000 5 6 7.500000 6 7 8.750000 7 8 10.00000 8 9 10.000000 9 10 10.000000 10 How do I have the change the syntax of my script to make that work? Ralf ______________________________________________ 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.