Ich habe mehrere Dateien mit Daten, die wie folgt aussehen:
%Vor%Manchmal fehlen Daten, aber ich habe keine NAs, die Zeilen existieren einfach nicht. Ich muss NAs erstellen, wenn die Daten fehlen. Ich konnte zwar feststellen, wann das passiert, indem ich es in ein Zoo-Objekt umwandelte und auf strikte Regelmäßigkeit prüfte (ich habe den Zoo vorher noch nie benutzt), aber ich benutzte den folgenden Code:
%Vor%Aber die Antwort ist immer wahr!
Kann mir jemand sagen, warum nicht funktioniert? Oder noch besser, sagen Sie mir eine Möglichkeit, NAs zu erstellen, wenn die Daten fehlen (mit oder ohne Zoopaket)?
Danke
Die Funktion seq
verfügt über einige interessante Funktionen, mit denen Sie ganz einfach eine vollständige Sequenz von Daten generieren können. Der folgende Code kann beispielsweise verwendet werden, um eine Abfolge von Daten ab dem 25. April zu generieren:
Bearbeiten: Diese Funktion ist in ?seq.Date
Verwenden Sie nun das gleiche Prinzip, um einige Daten mit "fehlenden" Zeilen zu generieren, indem Sie die Sequenz für jeden zweiten Tag generieren:
%Vor% Um Ihre Frage zu beantworten, können Sie mit vector subscripting oder der Funktion match
ein Dataset mit NAs erstellen:
Um dieses Ergebnis mit den ursprünglichen vollständigen Daten zu kombinieren:
%Vor% Im Zoopaket bedeutet "normal", dass die Serie gleichmäßig verteilt ist, außer möglicherweise für einige fehlende Einträge. Die zooreg
-Klasse im Zoo-Paket ist speziell für diese Art von Serie. Beachten Sie, dass die Menge aller regulären Reihen die Menge aller gleichmäßig beabstandeten Reihen enthält, aber streng größer ist.
Die Funktion is.regular
überprüft, ob eine gegebene Serie regulär ist. Das heißt, ist die Reihe zugänglich, um sie gleichmäßig beabstandet zu machen, wenn man NAs für die fehlenden Einträge einfügt?
In Bezug auf Ihre letzte Frage ist es eine FAQ. Siehe FAQ # 13 in der Zoo-FAQ, die auf der Zoo-CRAN-Seite oder von R verfügbar ist über:
%Vor%Auch in FAQ # 13 gibt es einen illustrativen Code.
Zunächst ist zu beachten, dass z.date
ein Zeichen und kein Datum ist.
So würde ich Ihr Problem mit xts (einer Unterklasse von zoo) lösen.
%Vor% Ich musste mich mit dem ähnlichen Problem mit einer monatlichen Zeitreihe befassen. Ich habe es geschafft, zwei data.table
/ data.frame
direkt mit der Zeitvariablen zu verbinden. Mein Punkt ist, dass Zeitreihen auch eine Art von Datensätzen sind. So können Sie jede Zeitreihe auch regelmäßig als regulären Datensatz bearbeiten. Hier ist meine Lösung:
Danach können Sie die Klasse des Datensatzes einfach in jede Art von Zeitreihe zurückverwandeln, die Sie haben möchten. Ich bevorzuge read.zoo
.
Tags und Links r time-series missing-data