Mit einem Datumsfeld in einem ts?
Frage ich mich, wie ich können machen, verwenden Sie ein bereits bestehendes Datum-Feld beim erstellen einer ts in R.
Manchmal muss man einfach ein Datum bevor du das ts-Objekt, z.B.
x <- as.Date("2008-01-01") + c(30,60,90,120,150)
# add some data to it
df = data.frame(datefield=x,test=1:length(x))
Nun, ist es ein Weg, um die datefield-der df als index beim erstellen einer ts-Objekt? Denn:
ts(df$test,start=c(2008,1,2),frequency=12)
(obviuously) ignoriert völlig die aktuellen Informationen habe ich bereits. Die Nutzung des ts-Methoden wie acf ist der Grund, warum Id gerne ein ts-Objekt. Ich typcically monatlichen eine vierteljährliche Zeitreihen...
InformationsquelleAutor der Frage Matt Bannert | 2011-03-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie nicht unbedingt benötigen, um erstellen Sie neue Arten von Objekten aus dem nichts, können Sie immer zwingen zu anderen Klassen, einschließlich
ts
wie Sie benötigen.zoo
oderxts
sind wohl für die meisten nützlich und intuitiv, aber es gibt andere. Hier ist dein Beispiel, cast, wie ein zoo-Objekt, welches wir dann zwingen Klassets
für den Einsatz inacf()
.Nun können wir leicht go zu einem
ts
Objekt mit deras.ts()
Methode:Beachten Sie die zwei weisen, in denen Objekte dargestellt werden (obwohl wir das gemacht haben könnte, die zooreg version die gleiche wie die standard-zoo-Objekt durch festlegen der
frequency
argument0.03333333
):Können wir den zoo/zooreg Objekt in
acf()
und Sie erhalten die richtige lags (tägliche Beobachtungen aber alle 30 Tage):Ob diese intuitiv für Sie ist oder nicht, hängt davon ab, wie man die Zeit-Serie. Wir können tun die gleiche Sache in Bezug auf eine 30-Tages-Intervall per:
wo wir
coredata()
zum extrahieren der Zeit-Serie selbst, ignorieren die aktuellsten Informationen.InformationsquelleAutor der Antwort Gavin Simpson
Ich weiß nicht genau, was Sie zu tun versuchen, aber acf arbeitet auch auf einfache Vektoren, gegeben natürlich stellt es eine regelmäßige Zeit-Serie (also auch Abstand). Anders das Ergebnis ist einfach nur Mist.
Bezüglich der ts-Objekt :
"Termine" sehen Sie nur aus der print -.ts-Funktion, Sie sind also nicht inhärent zu den ts-Objekt. Das ts-Objekt hat keine aktuellen Informationen. Sie können die option
calender=FALSE
zu bekommen, der standard, print-out der ts-Objekt.Nun, den Vektor, den Sie konstruieren, sieht so aus :
ist oder nicht regelmäßig, je nachdem, wie Sie es sehen. Wenn Sie das extrahieren der Monate, dann haben Sie 1 Beobachtung für Januar, 2 für März, 1. april...: nicht regelmäßig. Sie haben eine Beobachtung, die alle 30 Tage : regelmäßige. Wenn Sie eine Beobachtung, die jeder von 30 Tagen, sollten Sie sich nicht die Mühe über die Termine als 365 ist nicht teilbar durch 30. Also ein Jahr haben Sie 12 Beobachtungen, die andere haben Sie 13 Beobachtungen. So können Sie nicht einstellen, die Frequenz im ts konsequent richtige Weg.
Also ich würde davon absehen, über ein ts alle zusammen, als James bereits in den Kommentaren.
InformationsquelleAutor der Antwort Joris Meys