Zeichen und Ziffern Spalten können nicht beide einen Teil der Zeitreihendaten sein, da der Datenteil eines Zoo-Objekt ist eine Matrix (und eine Matrix müssen alle numerisch, alle Zeichen oder alle anderen Typ sein); Es kann jedoch vermieden werden, die Funktion f
durch Angabe von format=
und tz=
zu spezifizieren. Außerdem müssen wir angeben, dass eine Kopfzeile vorhanden ist (header=
) und dass Felder durch das Zeichen "," getrennt sind (sep=
).
(. Im Folgenden text = Lines
für reproducibliity aber in Wirklichkeit verwendet haben, ersetzen, dass mit "test.csv"
)
Lines <- "TICKER,PER,DATE,TIME,CLOSE
SYMBOL,1,20160104,1002,14180.0000000
SYMBOL,1,20160104,1003,14241.0000000"
library(zoo)
read.zoo(text = Lines, header = TRUE, sep = ",", index = c("DATE", "TIME"),
split = "TICKER", format = "%Y%m%d %H%M", tz = "")
geben:
PER CLOSE
2016-01-04 10:02:00 1 14180
2016-01-04 10:03:00 1 14241
Hinweis: Wenn Sie möchten, dass Ihre Funktion verwenden f
trotzdem weglassen format
und tz
und verwenden:
read.zoo(text = Lines, header = TRUE, sep = ",", index = c("DATE", "TIME"),
split = "TICKER", FUN = f)
Dies würde auch funktionieren, das heißt es in einem Datenrahmen gelesen und dann den Datenrahmen in einem Zoo Objekt lesen:
DF <- read.csv(text = Lines) # read.csv defaults to header=TRUE, sep=","
read.zoo(DF, index = c("DATE", "TIME"), split = "TICKER", FUN = f)
Mögliche Duplikat [Lesen csv mit Datum und Uhrzeit] (http: // Stackoverflow .com/questions/9372211/lesen-csv-mit-datum-und-zeit) – theArun