Ich habe Aktienmarktdaten von Yahoo heruntergeladen (Code unten) - für den Kontext, zuerst versuchte ich mit getSymbols(^DJI)
, aber ich habe Fehlermeldungen möglicherweise im Zusammenhang mit Yahoo ... anderes Problem.Sub-Einstellung Zeiten außerhalb der Zeitreihe in R
Der Punkt ist, dass einmal heruntergeladen und in R importiert, ich habe es in ein Format, nahe genug, um eine Zeitreihe chartSeries(DJI)
laufen massiert zu:
require(RCurl)
require(foreign)
x <- getURL("https://raw.githubusercontent.com/RInterested/datasets/gh-pages/%5EDJI.csv")
DJI <- read.csv(text = x, sep =",")
DJI$Date <- as.Date(DJI$Date, format = "%m/%d/%Y") # Formatting Date as.Date
rownames(DJI) <- DJI$Date # Assigning Date to row names
DJI$Date <- NULL # Removing the Date column
chartSeries(DJI, type="auto", theme=chartTheme('white'))
auch wenn die -Datensatz ist nicht wirklich eine Zeitreihe:
> is.ts(DJI)
[1] FALSE
das Problem entsteht, wenn ich versuche, das Datum, um herauszufinden, zum Beispiel der minimale clo sing Wert des Dow. Ich kann so etwas wie
> DJI[DJI$Close == min(DJI$Close),]
Open High Low Close Adj.Close Volume
1985-05-01 1257.18 1262.81 1239.07 1242.05 1242.05 10050000
die gesamte Zeile ergibt, einschließlich der Zeilennamen (1985-05-01
) tun, die der einzige Teil ist, ich will. Allerdings, wenn ich darauf bestehen, nur das aktuelle Datum immer, ich habe einen zweiten Datensatz die Daten in einer der Spalten jonglieren enthält:
require(RCurl)
require(foreign)
x <- getURL("https://raw.githubusercontent.com/RInterested/datasets/gh-pages/%5EDJI.csv")
DJI <- read.csv(text = x, sep =",")
DJI$Date <- as.Date(DJI$Date, format = "%m/%d/%Y") # Formatting Date as.Date
rownames(DJI) <- DJI$Date # Assigning Date to row names
DJI.raw <- DJI # Second dataset for future subsetting
DJI$Date <- NULL # Removing the Date column
die mir erlaubt
> DJI.raw$Date[DJI.raw$Close == min(DJI.raw$Close)]
[1] "1985-05-01"
Weitere zu laufen, Ich glaube nicht, dass die Umwandlung in eine .xts
Datei helfen würde.
Bitte beachten Sie, dass, wenn Sie Daten rownames zuweisen, wenden sie sich zurück in Buchstaben. Wenn du aber keine andere Spalte im data.frame mit den Daten haben willst und es dir gut geht, dass die Daten Zeichen sind, kannst du einfach 'rownames (DJI) [DJI $ Schließen == min (DJI $ Schließen)] ' – digEmAll
@digEmAll Ich war unter der Annahme, dass eine Zeitreihe die Zeilennamen als Datum benötigt. Ist das nicht wahr? Außerdem kann ich 'chartSeries()' nicht ausführen, wenn ich die Datumsspalte innerhalb des Datasets verwalte ... – Toni
Ja, das ist möglich (ich kenne die chartSeries-Funktion nicht), aber das bedeutet nicht, dass Sie die nicht haben können Spalte im data.frame beliebig und nur eine Spaltenuntermenge zu chartSeries übergeben ... eg 'chartSeries (DJI [, - 1], type =" auto ", theme = chartTheme ('weiß'))' (-1 bedeutet, dass wir die Spalte an Position 1 nicht an chartSeries übergeben, natürlich, wenn Date column at ist Position 2, solltest du -2 und so weiter gehen ...) – digEmAll