Konvertieren Sie Daten aus der CSV -Datei in "XTS" -Objekt
-
16-10-2019 - |
Frage
Ich habe CSV-Dateien, die das Datum im folgenden Format haben: 25-Aug-2004
Ich möchte es als "XTS" -Objekt lesen, um die Funktion "Periodeturn" im Quantmod -Paket zu verwenden.
Kann ich die folgende Datei für die Funktion verwenden?
Symbol Series Date Prev.Close Open.Price High.Price Low.Price
1 XXX EQ 25-Aug-2004 850.00 1198.70 1198.70 979.00
2 XXX EQ 26-Aug-2004 987.95 992.00 997.00 975.30
Führe mich mit dem gleichen.
Lösung
Leider kann ich nicht für die sprechen ts
Teil, aber so können Sie Ihre Daten in ein ordnungsgemäßes Format konvertieren, das von anderen Funktionen als Daten (oder Zeit) gelesen werden kann. Sie können Ihre Daten wie gewohnt in eine Daten importieren (Sehen Sie hier, ob Sie es verpasst haben). Dann können Sie Ihre konvertieren Date
Säule in a POSIXlt
(POSIXt
) Klasse verwendet strptime
Funktion.
nibha <- "25-Aug-2004" # this should be your imported column
lct <- Sys.getlocale("LC_TIME"); Sys.setlocale("LC_TIME", "C") #temporarily change locale to C if you happen go get NAs
strptime(nibha, format = "%d-%b-%Y")
Sys.setlocale("LC_TIME", lct) #revert back to your locale
Andere Tipps
Versuche dies. Wir entfernen die störenden Spalten und geben das Format des Zeitindex an, konvertieren dann in XTs und wenden die DailyReturn -Funktion an:
Lines <- "Symbol Series Date Prev.Close Open.Price High.Price Low.Price
1 XXX EQ 25-Aug-2004 850.00 1198.70 1198.70 979.00
2 XXX EQ 26-Aug-2004 987.95 992.00 997.00 975.30"
library(quantmod) # this also pulls in xts & zoo
z <- read.zoo(textConnection(Lines), format = "%d-%b-%Y",
colClasses = rep(c(NA, "NULL", NA), c(1, 2, 5)))
x <- as.xts(z)
dailyReturn(x)
Na sicher, textConnection(Lines)
ist nur, um das Beispiel selbst inhalt zu halten und in Wirklichkeit durch so etwas ersetzt wird "myfile.dat"
.