Erstellen regelmäßiger 15-Minuten-Zeitreihen aus unregelmäßigen Zeitreihen

Ich habe eine unregelmäßige Zeitreihe (mit DateTime und RainfallValue) in einer CSV-DateiC:\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>

Hinweis: Die unregelmäßigen Zeitschritte können 1 Minute, 15 Minuten, 1 Stunde usw. sein. Es können auch mehrere Beobachtungen in einem gewünschten Intervall von 15 Minuten erfolgen.

Ich versuche, eine reguläre 15-Minuten-Zeitreihe vom 01.01.2000 bis zum 31.12.2001 zu erstellen, die so aussehen sollte:

<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>

Hinweis: Die Zeitreihe ist regelmäßig mit Intervallen von 15 Minuten und füllt die fehlenden Daten mit 0. Wenn in Intervallen von 15 Minuten mehr als ein Datenpunkt vorhanden ist, werden diese summiert.

Hier ist mein Code:

<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>

Problem: Die AusgabezeitreiheTS_align15min: (a) hat sich wiederholende Zeitstempelblöcke (b) beginnt (auf mysteriöse Weise) ab 1999, als:

<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>

Was mache ich falsch?

Vielen Dank für jede Richtung!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage