Creación de series de tiempo regulares de 15 minutos a partir de series de tiempo irregulares

Tengo una serie de tiempo irregular (con DateTime y RainfallValue) en un archivo csvC:\SampleData.csv:

<code>
DateTime,RainInches
1/6/2000 11:59,0
1/6/2000 23:59,0.01
1/7/2000 11:59,0
1/13/2000 23:59,0
1/14/2000 0:00,0
1/14/2000 23:59,0
4/14/2000 3:07,0.01
4/14/2000 3:12,0.03
4/14/2000 3:19,0.01
12/31/2001 22:44,0
12/31/2001 22:59,0.07
12/31/2001 23:14,0
12/31/2001 23:29,0
12/31/2001 23:44,0.01
12/31/2001 23:59,0.01
</code>

Nota: Los intervalos de tiempo irregulares podrían ser de 1 min, 15 min, 1 hora, etc. Además, podría haber múltiples observaciones en un intervalo de 15 min deseado.

Estoy tratando de crear una serie de tiempo regular de 15 minutos desde el 2000-01-01 hasta el 2001-12-31 que debería ser como:

<code>
2000-01-01 00:15:00 0.00
2000-01-01 00:30:00 0.00
2000-01-01 00:45:00 0.00
...
2001-12-31 23:30:00 0.01
2001-12-31 23:45:00 0.01
</code>

Nota: La serie de tiempo es regular con intervalos de 15 minutos, llenando los datos faltantes con 0. Si hay más de un punto de datos en intervalos de 15 minutos, se suman.

Aquí está mi código:

<code>
library(zoo)
library(xts)

filename = "C:\\SampleData.csv"
ReadData <- read.zoo(filename, format = "%m/%d/%Y %H:%M", sep=",", tz="UTC", header=TRUE) # read .csv as a ZOO object
RawData <- aggregate(ReadData, index(ReadData), sum) # Merge duplicate time stamps and SUM the corresponding data (CAUTION)
RawDataSeries <- as.xts(RawData,order.by =index(RawData)) #convert to an XTS object

RegularTimes <- seq(as.POSIXct("2000-01-01 00:00:00", tz = "UTC"), as.POSIXct("2001-12-31 23:45:00", tz = "UTC"), by = 60*15)
BlankTimeSeries <- xts((rep(0,length(RegularTimes))),order.by = RegularTimes)

MergedTimeSeries <- merge(RawDataSeries,BlankTimeSeries)
TS_sum15min <- period.apply(MergedTimeSeries,endpoints(MergedTimeSeries, "minutes", 15), sum, na.rm = TRUE )

TS_align15min <- align.time( TS_sum15min [endpoints(TS_sum15min , "minutes", 15)], n=60*15)
</code>

Problema: La serie de tiempo de salidaTS_align15min: (a) tiene bloques repetidos de sellos de tiempo (b) comienza (misteriosamente) a partir de 1999, como:

<code>1999-12-31 19:15:00    0
1999-12-31 19:30:00    0
1999-12-31 19:45:00    0
1999-12-31 20:00:00    0
1999-12-31 20:15:00    0
1999-12-31 20:30:00    0
</code>

¿Qué estoy haciendo mal?

¡Gracias por cualquier dirección!

Respuestas a la pregunta(2)

Su respuesta a la pregunta