Ich verwende R für einige statistische Analysen von Zeitreihen. Ich habe versucht, zu googeln, aber ich kann keine endgültigen Antworten finden. Kann mir jemand, der mehr weiß, bitte die richtige Richtung weisen?
Beispiel:
Nehmen wir an, ich möchte eine lineare Regression von zwei Zeitreihen durchführen. Die Zeitreihen enthalten tägliche Daten, aber es könnten hier und da Lücken vorhanden sein, so dass die Zeitreihen nicht regelmäßig sind. Natürlich möchte ich nur Datenpunkte vergleichen, für die beide Zeitreihen Daten enthalten. So lese ich derzeit die csv-Dateien in einen Datenrahmen ein:
library(zoo)
apples <- read.csv('/Data/apples.csv', as.is=TRUE)
oranges <- read.csv('/Data/oranges.csv', as.is=TRUE)
apples$date <- as.Date(apples$date, "%d/%m/%Y")
oranges$date <- as.Date(oranges$date, "%d/%m/%Y")
zapples <- zoo(apples$close,apples$date)
zoranges <- zoo(oranges$close,oranges$date)
zdata <- merge(zapples, zoranges, all=FALSE)
data <- as.data.frame(zdata)
Gibt es eine elegantere Möglichkeit, dies zu tun?
Und wie kann ich die Daten aufteilen, z. B. die Einträge in data
mit Daten innerhalb eines bestimmten Zeitraums?
2 Stimmen
Der Code ist nicht ganz richtig, und wir haben Ihre csv-Dateien nicht... vielleicht ein paar Dummy-Daten?
0 Stimmen
Ich habe die Tippfehler im Code korrigiert. Aber ich kann den Sinn von Dummy-Daten nicht wirklich erkennen. Nehmen Sie einfach beliebige Daten und legen Sie sie in zwei Spalten csv-Datei und nennen Sie eine Spalte Datum und die andere schließen.
9 Stimmen
Der Grund dafür ist, dass Ihre Frage nicht als minderwertig angesehen wird und dass die Beantworter den Code leicht ausführen können und mehrere Beantworter ihn alle mit der gleichen Eingabe ausführen können. Da dies etwas ist, das Sie selbst tun können, ohne die Antwort auf die Frage zu kennen, wird es im Allgemeinen als Ihre Verantwortung angesehen, diese bereitzustellen.
0 Stimmen
Richtig. Aber da ich nach Best Practices gefragt habe (ich hatte kein bestimmtes Problem zu lösen, sondern wollte nur wissen, ob es einen einfacheren Weg gibt, um das gleiche Ergebnis zu erzielen), dachte ich nicht, dass es wirklich nötig wäre. Jeder, der sich mit der Arbeit mit Zeitreihen in R auskennt, kann den Code im Wesentlichen verstehen und dann seine $0,02 hinzufügen. Trotzdem vielen Dank für Ihre Antworten.