function approx interpolation of time series data sets
On 18/01/2013, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
On Fri, Jan 18, 2013 at 7:31 AM, e-letter <inpost at gmail.com> wrote:
On 16/01/2013, Rui Barradas <ruipbarradas at sapo.pt> wrote:
Hello, Like this? data1 <- read.table(text = " 01:23:40 5 01:23:45 10 01:23:50 12 01:23:55 7 ") data2 <- read.table(text = " 01:23:42 01:23:47 01:23:51 01:23:54 ") approx(as.POSIXct(data1$V1, format = "%H:%M:%S"), y = data1$V2, xout = as.POSIXct(data2$V1, format = "%H:%M:%S"))
Thanks. I have later realised that if data frames are unequal (i.e. data2edit 01:23:42 01:23:47 01:23:51 01:23:54 01:23:58 01:23:59 the result for 'y' is $y [1] NA NA NA NA NA NA Similar error occurs with the 'zoo' package.
its not clear precisely what you tried with zoo but have a look at this:
data1 <- "
+ 01:23:40 5 + 01:23:45 10 + 01:23:50 12 + 01:23:55 7"
data2 <- "
+ 01:23:42 + 01:23:47 + 01:23:51 + 01:23:54"
library(zoo) library(chron) z1 <- read.zoo(text = data1, FUN = times) z2 <- read.zoo(text = data2, FUN = times) na.approx(z1, xout = time(z2))
01:23:42 01:23:47 01:23:51 01:23:54
7.0 10.8 11.0 8.0
Latest error:
data1
V1 V2 1 01:23:40 5 2 01:23:45 10 3 01:23:50 12 4 01:23:55 7
data2
V1 1 01:23:42 2 01:23:47 3 01:23:51 4 01:23:54 5 01:23:58 6 01:23:59
data1zoo<-read.zoo(text=data1,FUN=times)
Error in textConnection(text) : invalid 'text' argument
data2zoo<-read.zoo(text=data2,FUN=times)
Error in textConnection(text) : invalid 'text' argument
Then I tried to create objects differently:
data1zoo<-read.zoo('test1.txt',FUN=times)
data1zoo
01:23:40 01:23:45 01:23:50 01:23:55
5 10 12 7
data2zoo<-read.zoo('test2.txt',FUN=times)
data2zoo
01:23:42 01:23:47 01:23:51 01:23:54 01:23:58 01:23:59
data3<-(na.approx(merge(data1zoo,data2zoo),time(data1zoo)))
Error in na.approx.default(object, x = x, xout = xout, na.rm = FALSE, : x and index must have the same length