[R] Filling in missing time samples with na.approx

Felipe Carrillo mazatlanmexico at yahoo.com
Mon Nov 29 20:08:12 CET 2010


strange,,I don't see any change either, could it be that we have an older 
version of zoo?
 
Felipe D. Carrillo
Supervisory Fishery Biologist
Department of the Interior
US Fish & Wildlife Service
California, USA



----- Original Message ----
> From: Gabor Grothendieck <ggrothendieck at gmail.com>
> To: Jason Edgecombe <jason at rampaginggeek.com>
> Cc: r-help at stat.math.ethz.ch
> Sent: Mon, November 29, 2010 10:51:07 AM
> Subject: Re: [R] Filling in missing time samples with na.approx
> 
> On Mon, Nov 29, 2010 at 1:33 PM, Jason Edgecombe
> <jason at rampaginggeek.com> wrote:
> > On 11/29/2010 10:00 AM, Gabor Grothendieck wrote:
> >>
> >> On Mon, Nov 29, 2010 at 9:45 AM, Jason Edgecombe
> >> <jason at rampaginggeek.com>  wrote:
> >>
> >>>
> >>> Hi Everyone,
> >>>
> >>> I have a some data from a sports gps device like the following:
> >>>
> >>>        time latitude longitude altitude  distance heartrate
> >>> 1 1277648884 0.304048 -0.793819      260  0.000000        94
> >>> 2 1277648885 0.304056 -0.793772      262  4.307615        95
> >>> 3 1277648888 0.304060 -0.793696      263 11.262347        97
> >>> 4 1277648894 0.304075 -0.793544      263 25.237911       103
> >>> 5 1277648898 0.304085 -0.793455      263 33.322525       108
> >>> 6 1277648902 0.304064 -0.793387      256 40.042988       115
> >>>
> >>> As you can see, the samples have irregular holes in the time column. How
> >>> can
> >>> I fill in the missing samples using na.approx?
> >>>
> >>> I've tried to creating a blank series with no gaps and combine them, but
> >>> "merge" just adds columns and "rbind" compains about duplicate indexes.
> >>>
> >>> P.S. My GPS still has holes in the data when I turn off "smart recording"
> >>> :(
> >>>
> >>>
> >>
> >> Try this:
> >>
> >> Lines<- "time latitude longitude altitude  distance heartrate
> >> 1277648884 0.304048 -0.793819      260  0.000000        94
> >> 1277648885 0.304056 -0.793772      262  4.307615        95
> >> 1277648888 0.304060 -0.793696      263 11.262347        97
> >> 1277648894 0.304075 -0.793544      263 25.237911       103
> >> 1277648898 0.304085 -0.793455      263 33.322525       108
> >> 1277648902 0.304064 -0.793387      256 40.042988       115"
> >>
> >> # read in data
> >> library(zoo)
> >> z<- read.zoo(textConnection(Lines), header = TRUE)
> >>
> >> na.approx(z, xout = seq(min(time(z)), max(time(z))))
> >>
> >>
> >>
> >>
> >
> > No change:
> >> na.approx(z, xout = seq(min(time(z)), max(time(z))))
> >           latitude longitude altitude  distance heartrate
> > 1277648884 0.304048 -0.793819      260  0.000000        94
> > 1277648885 0.304056 -0.793772      262  4.307615        95
> > 1277648888 0.304060 -0.793696      263 11.262347        97
> > 1277648894 0.304075 -0.793544      263 25.237911       103
> > 1277648898 0.304085 -0.793455      263 33.322525       108
> > 1277648902 0.304064 -0.793387      256 40.042988       115
> >
> 
> It works for me.
> 
> > Lines <- "time latitude longitude altitude  distance heartrate
> + 1277648884 0.304048 -0.793819      260  0.000000        94
> + 1277648885 0.304056 -0.793772      262  4.307615        95
> + 1277648888 0.304060 -0.793696      263 11.262347        97
> + 1277648894 0.304075 -0.793544      263 25.237911      103
> + 1277648898 0.304085 -0.793455      263 33.322525      108
> + 1277648902 0.304064 -0.793387      256 40.042988      115"
> >
> > # read in data
> > library(zoo)
> > z <- read.zoo(textConnection(Lines), header = TRUE)
> >
> > na.approx(z, xout = seq(min(time(z)), max(time(z))))
>             latitude  longitude altitude  distance heartrate
> 1277648884 0.3040480 -0.7938190 260.0000  0.000000  94.00000
> 1277648885 0.3040560 -0.7937720 262.0000  4.307615  95.00000
> 1277648886 0.3040573 -0.7937467 262.3333  6.625859  95.66667
> 1277648887 0.3040587 -0.7937213 262.6667  8.944103  96.33333
> 1277648888 0.3040600 -0.7936960 263.0000 11.262347  97.00000
> 1277648889 0.3040625 -0.7936707 263.0000 13.591608  98.00000
> 1277648890 0.3040650 -0.7936453 263.0000 15.920868  99.00000
> 1277648891 0.3040675 -0.7936200 263.0000 18.250129 100.00000
> 1277648892 0.3040700 -0.7935947 263.0000 20.579390 101.00000
> 1277648893 0.3040725 -0.7935693 263.0000 22.908650 102.00000
> 1277648894 0.3040750 -0.7935440 263.0000 25.237911 103.00000
> 1277648895 0.3040775 -0.7935218 263.0000 27.259065 104.25000
> 1277648896 0.3040800 -0.7934995 263.0000 29.280218 105.50000
> 1277648897 0.3040825 -0.7934773 263.0000 31.301371 106.75000
> 1277648898 0.3040850 -0.7934550 263.0000 33.322525 108.00000
> 1277648899 0.3040797 -0.7934380 261.2500 35.002641 109.75000
> 1277648900 0.3040745 -0.7934210 259.5000 36.682756 111.50000
> 1277648901 0.3040693 -0.7934040 257.7500 38.362872 113.25000
> 1277648902 0.3040640 -0.7933870 256.0000 40.042988 115.00000
> 
> 
> 
> -- 
> Statistics & Software Consulting
> GKX Group, GKX Associates Inc.
> tel: 1-877-GKX-GROUP
> email: ggrothendieck at gmail.com
> 
> ______________________________________________
> R-help at 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.
> 






More information about the R-help mailing list