Interpolierende timeseries
Ich habe eine Zeitreihe problem, von dem ich hoffe, jemand kann helfen mit!
Das problem dreht sich um zwei Sätze von Daten mit unterschiedlichen Zeitstempeln. Ein Satz von Daten mit Kalibrier-Daten, die andere enthält Beispieldaten. Die Kalibrierung ist viel seltener als die Proben.
Was ich tun möchte, ist zu interpolieren die Kalibrierdaten (low freq) auf die sample-Zeit-Serie (high freq).
sam <- textConnection("time, value
01:00:52, 256
01:03:02, 254
01:05:23, 255
01:07:42, 257
01:10:12, 256")
cal <- textConnection("time, value
01:01:02, 252.3
01:05:15, 249.8
01:10:02, 255.6")
sample <- read.csv(sam)
sample$time <- as.POSIXct(sample$time, format="%H:%M:%S")
calib <- read.csv(cal)
calib$time <- as.POSIXct(calib$time, format="%H:%M:%S")
Das große problem (welches ich sehe) ist, dass die Frequenz der änderungen der Daten nach dem Zufallsprinzip.
Haben alle von Ihnen zu tun hatte ähnliche Dinge? Gibt es eine chron oder " zoo " - Funktion, die würde tun, was ich will (interpolieren low freq-Daten auf eine höhere freq-Daten, bei denen beide ts sind random)?
InformationsquelleAutor Alex Archibald | 2012-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde zoo (oder xts) und es so machen:
InformationsquelleAutor Joshua Ulrich
Können Sie auch
approx
Funktion wie diese, und es wird viel einfacher sein. Stellen Sie sicher, dass Sie das arbeiten mit data frames. Auch, stellen Sie sicher, dass das format der Spalte in der Kalibrierung und sample-Daten sind die gleichen, die durch die Verwendungas.POSIXct
.Lesen Sie mehr über
approx
auf approxfun Dokumentation.InformationsquelleAutor M-M