[R] function approx interpolation of time series data sets

Gabor Grothendieck ggrothendieck at gmail.com
Fri Jan 18 13:56:06 CET 2013


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



More information about the R-help mailing list