Zeitreihen-und stl-Daten in R: Fehler nur univariate Serie erlaubt sind

Ich bin die Analyse der stündlichen Niederschläge auf eine Datei, die unorganisiert. Jedoch habe ich es geschafft, um es zu säubern und speichern Sie es in einem dataframe (genannt CA1), die die form wie folgt:

  Station_ID Guage_Type   Lat   Long       Date Time_Zone Time_Frame H0 H1 H2 H3 H4 H5        H6        H7        H8        H9       H10       H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23
1    4457700         HI 41.52 124.03 1948-07-01         8        LST  0  0  0  0  0  0 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000   0   0   0   0  0  0   0   0   0   0   0   0
2    4457700         HI 41.52 124.03 1948-07-05         8        LST  0  1  1  1  1  1  2.0000000 2.0000000 2.0000000 4.0000000 5.0000000 5.0000000   4   7   1   1   0 0  10  13   5   1   1   3
3    4457700         HI 41.52 124.03 1948-07-06         8        LST  1  1  1  0  1  1 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000   0   0   0   0   0  0   0   0   0   0   0   0
4    4457700         HI 41.52 124.03 1948-07-27         8        LST  3  0  0  0  0  0 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000   0   0   0   0   0 0   0   0   0   0   0   0
5    4457700         HI 41.52 124.03 1948-08-01         8        LST  0  0  0  0  0  0 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000   0   0   0   0   0 0   0   0   0   0   0   0
6    4457700         HI 41.52 124.03 1948-08-17         8        LST  0  0  0  0  0  0 0.3888889 0.3888889 0.3888889 0.3888889 0.3888889 0.3888889   6   1   0   0   0 0   0   0   0   0   0   0

Wo H0 durch H23 repräsentieren die 24 Stunden pro Tag (Zeile)

Nur mithilfe von CA1 (dataframe oben), nehme ich jeden Tag (Zeile) 24 Punkte an und transponieren Sie Sie vertikal und verketten Sie die restlichen Tage (Zeilen) auf eine variable, ich nenne Sie dat1:

 > dat1[1:48,]
  H0  H1  H2  H3  H4  H5  H6  H7  H8  H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23  H0  H1  H2  H3  H4  H5  H6  H7  H8  H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 
   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   1   1   1   1   2   2   2   4   5   5   4   7   1   1   0  0  10  13   5   1   1   3 

Über die variable dat1 ich die Eingabe als argument, um eine Reihe von Daten:

> rainCA1 <- ts(dat1, start = c(1900+as.POSIXlt(CA1[1,5])$year, 1+as.POSIXlt(CA1[1,5])$mon), 
    frequency = 24)

Einige Dinge zu beachten:

>dim(CA1)
  [1] 5636   31
>length(dat1)
  [1] 135264

Damit 5636*24 (Gesamtzahl der Daten, die Punkte [24] pro Zeile) = 135264 Summe der Punkte.
Die Länge(rainCA1) stimmt der Punkte oben. Allerdings, wenn ich ein Ende setzen, in der ts-Funktion, wie

>rainCA1 <- ts(dat1, start = c(1900+as.POSIXlt(CA1[1,5])$year, 1+as.POSIXlt(CA1[1,5])$mon), 
    end = c(1900+as.POSIXlt(CA1[5636,5])$year, 1+as.POSIXlt(CA1[5636,5])$mon),
    frequency = 24)

Ich bekomme 1134 Gesamtlänge der Punkte, wo ich bin, fehlen viele Daten. Ich gehe davon aus, dass dies aufgrund der Termine nicht aufeinander folgende-und da bin ich nur Monat und Jahr als argument für den Ausgangspunkt.

Weiterhin, was ich denke, ist der richtige Pfad, mit dem ersten ts-Berechnung ohne die end-argument, ich liefere es als input für stl:

>rainCA1_2 <-stl(rainCA1, "periodic")

Leider bekomme ich eine Fehlermeldung:

Error in stl(rainCA1, "periodic") : only univariate series are allowed

Welches ich nicht verstehe oder wie Sie gehen über es. Jedoch, wenn ich zurück in die ts-Funktion und stellen Sie die Ende-argument, stl, funktioniert einwandfrei ohne Fehler.

Habe ich recherchiert in vielen Foren, aber niemand (oder meinem Verständnis) bietet eine gut Lösung um die Daten, die Attribute, die der stündlichen Daten. Wenn jemand mir helfen könnte, ich werde es zu schätzen wissen. Danke!

InformationsquelleAutor Luciano Rodriguez | 2012-05-08

Schreibe einen Kommentar