2016-05-05 15 views
1

Ich habe lubridate verwendet, um einige Dauerdaten zu konvertieren hms FormatErstellen eines gleitenden Durchschnitts von hms Daten mit lubridate und xts/Zoo

library(lubridate) 
series$Duration <- hms(series$Duration) 

Das gibt mir täglich Spaltendaten als xts Objekt:

>Duration 

2016-03-12 9M 5s 
2016-03-13 6M 18s 
2016-03-14 6M 30s 
2016-03-15 7M 12S 

ich will einen gleitenden Durchschnitt von den Daten erstellen, so verwendet:

Duration <- rollmean(Duration,30,align="right") 

Dies macht eine Zeitreihe, jedoch nicht in einem anerkannten Format:

2016-03-12 32.10000 
2016-03-13 32.26667 
2016-03-14 31.53333 
2016-03-15 31.16667 

Ich bin mir nicht sicher, ob die Daten richtig und wurden irgendwie zu einem index.It umgewandelt würden nicht auf Sekunden zu scheinen.

Meine Frage ist kann ich einen gleitenden Durchschnitt solchen hms Daten und halten Sie das Original-hms Formating

**** Bearbeiten Hinweis: Entschuldigung, dass ich nicht Beispiel Daten jetzt zur Verfügung stellen kann. Im Gegensatz zu meinem ursprünglichen Beitrag scheint xts bei der Erstellung des xts-Objekts die Werte as.numeric() zu erzwingen, so dass das Problem darin besteht, den Datenrahmen in xts zu ändern. Wenn Sie jedoch versuchen, die Datenframe-Daten in ggplot zu berechnen, müssen Sie auch die Daten mithilfe von as.numeric() erzwingen.

Anstatt meine Daten zur Verfügung zu stellen, würde ich es begrüßen, wenn jemand Hilfe anbieten könnte, wie ein gleitender Durchschnitt auf hms-Daten angewendet werden könnte, und erlaubt, dass er ohne die Coversion erstellt wird? Vielen Dank

+0

ein wenig von Ihren ursprünglichen Daten Diagramm erlaubt wäre Hinzufügen nützlich. – epi99

Antwort

0

scheint die beste Route über period_to_seconds zu konvertieren() erstes, die Sie genau in Sekunden