2016-05-22 7 views
1

Ich benutze den folgenden Code in r, um eine CSV-Datei von Aktienkursen zu lesen.Plot() nur eine Spalte von Daten

library(quantmod) 

#column headings ("open","high","low","close","volume","adj.") 

fmt <- '%Y-%m-%d' 
SPY <- read.zoo("~/Stocks/csv/SPY.csv",header=TRUE,sep=',',tz='',format=fmt,index=0:1) 

plot(SPY['open']) 

Ich kann erfolgreich plot(SPY) verwenden, um alle Spalten zu plotten.

Wie würde ich nur eine Spalte nach Namen auswählen, z. B. nur die Spalte "Öffnen" plotten? Ich habe eine Menge Dinge wie plot(SPY['open']) ausprobiert, kann es aber nicht herausfinden.

Könnte jemand helfen? Danke vielmals!

Antwort

3

Versuchen: plot (SPY [, ‚open‘]

Die eckigen Klammern Verfahren zur Herstellung einer Teilmenge von der Auswahl erfordert zwei Ausdrücke: erstens, eine die Zeilen beschreiben, und die zweite, eine der Spalten der Beschreibung dieser beiden Ausdrücke. Wenn Sie alle Zeilen einschließen möchten, lassen Sie einfach ein Leerzeichen vor dem Komma und geben Sie den Namen der gewünschten Spalte an.

Ihr Code mit nur einem Ausdruck behandelt 'offen' als eine Zeile, keine Spalte Das Ergebnis ist wahrscheinlich ein Streifendiagramm, ein eindimensionales Diagramm, anstelle des Diagramms, das Sie erwartet haben

+0

'Zoo'-Objekte sind eigentlich Matrizen mit speziellen Rownames. Es ist also in etwa so, dass 'SPY ['open']' etwas Nützliches zurückgeben würde. Sie sind keine Datenframes, daher würde die "[" - Funktion keine Spalte (oder eine Zeile) ohne das Komma zurückgeben. –

+0

Kann bestätigen, dass dies für einen 'read.csv()' Aufruf funktioniert – MyStackRunnethOver