2017-03-29 2 views
2

Ich habe eine CSV-Datei mit dem Formaterstellen ts R Objekt aus einer CSV mit Daten als eine Spalte mit multivariaten Serie

ref_date;wings;airfoil;turbines 
2015-03-31;123,22;22,77;99,0 
2015-04-30;123,22;28,77;99,0 
2015-05-31;123,22;22,177;02,0 
2015-06-30;56,288;22,77;99,0 

und ich mag verwenden, um die forecast Paket-Datei, die nächsten Werte von diesem vorherzusagen Zeitfolgen. Das forecast Paket akzeptiert nur ein ts Objekt, aber bis jetzt sind alle meine Versuche fehlgeschlagen. Ich wollte

1) Verwenden Zoopaket

df = read.zoo(data_file, sep=';', dec=',', format="%Y-%m-%d", header=T) 

aber die Daten in dem Dezimalkomma abgeschnitten.

2) Mit dem Zoo-Paket mit XTS

df = read.zoo(datafile, sep=';', dec=',', format="%Y-%m-%d", header=T) 
df_ts = ts(df) 

die Daten sind nicht zu sehen ist, wird der Index ist nur eine Folge von Zahlen, wie

1 123.22 22.77 99 

3) Verwenden read.csv und ts

df = read.zoo(datafile, sep=';', dec=',', format="%Y-%m-%d", header=T) 
df_ts = ts(df) 

4) Versuchen Sie xts mit

df = read.csv(data_file, sep=';', header=T, dec=',') 
tt = as.xts(df[,-1],order.by = as.Date(as.character(df[,1]), format = "%Y-%m-%d")) 
forecast(tt) 
Error in `tsp<-`(`*tmp*`, value = tsp.y) : 
    invalid time series parameters specified 

Das Ergebnis verliert alle Informationen über das Datum, einschließlich der Spalte ref_date, und jetzt gibt das Prognosepaket Unsinn als Ergebnis.

Was ist der richtige Ansatz zum Erstellen des Objekts, das die forecast Bibliothek wartet und kann eine Prognose generieren, die Daten beibehalten, einschließlich in den Plots?

+0

Entschuldigung. – Ivan

+0

Warum denken Sie Abschneiden tritt mit der ersten Methode auf? Ich versuchte es an der Probe und es schien nicht die Präzision zu verlieren. Es beschwerte sich über doppelte Daten. Welche Version von 'Zoo' hast du benutzt? Ich habe mit 'zoo_1.7-14' getestet. – MrFlick

+0

Gleiche Version wie Ihre. Ich habe keine wiederholten Termine, fixiere es jetzt. – Ivan

Antwort

1

Ich habe CSV-Daten in ZOO/XTS-Objekte gerungen und sympathisieren - schmerzhaft.

vorschlagen as_xts() im tidyquant Paket

as_xts(read_csv(file),ref_date) 

Sie müssen möglicherweise die resultierenden coredata() im XTS Objekt zurück, um numerische Verwendung zu erzwingen.

+0

Sie könnten zu 'tempk :: tk_xts()' wechseln, was 'tidyquant :: as_xts()' ersetzt. Es ist robuster und erkennt automatisch Datumsspalten, was schön ist. –

Verwandte Themen