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.

War es hilfreich?

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".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top