0

I have the following time series:

Lines <- "Hour,PF
    0,14/01/2015 00:00,0.305
    1,14/01/2015 01:00,0.306
    2,14/01/2015 02:00,0.307
    3,14/01/2015 03:00,0.3081
    4,14/01/2015 04:00,0.3091
    5,14/01/2015 05:00,0.3101
    6,14/01/2015 06:00,0.3111
    7,14/01/2015 07:00,0.3122
    8,14/01/2015 08:00,0.455
    9,14/01/2015 09:00,0.7103
    10,14/01/2015 10:00,0.9656 
    11,14/01/2015 11:00,1           
    12,15/01/2015 12:00,0.9738     
    13,15/01/2015 13:00,0.9476
    14,15/01/2015 14:00,0.9213
    15,15/01/2015 15:00,0.8951
    16,15/01/2015 16:00,0.8689
    17,15/01/2015 17:00,0.8427
    18,15/01/2015 18:00,0.6956
    19,15/01/2015 19:00,0.6006
    20,15/01/2015 20:00,0.5056
    21,15/01/2015 21:00,0.4106
    22,15/01/2015 22:00,0.3157
    23,15/01/2015 23:00,0.3157"

library (zoo)
library (strucchange)

z <- read.zoo(text = Lines, tz = "", format = "%d/%m/%Y %H:%M", sep = ",")

As can be seen there is a gap of 24 hours between observation 12 to 13. When I plot the time series:

plot(z)

I get in the graph constant values at the gap. I would like to change the plotting line between the missing values to 0 for instance. How can I do it?

Avi
  • 2,247
  • 4
  • 30
  • 52

1 Answers1

1

You can set to 0 the limits of the gaps like this:

istart <- index(z[diff(index(z))>1])
iend <- index(z[ which( diff(index(z))>1 ) +1 ])
z[istart+3600] <- rep(0, times=length(istart))
z[iend-3600] <- rep(0, times=length(iend))
HubertL
  • 19,246
  • 3
  • 32
  • 51