2017-08-08 3 views
0

Ich habe einen DF mit Tagespreise eines ETF wie folgt aus:R - Subset von Zeilen in Datumsformat

   TICKER OPEN  HIGH CLOSE 
2017-01-01 BOVA11 55.30 55.50 55.20 

Namen Meine Zeilen werden als Datumsangaben (YYMMDD) zugeordnet ist, wie kann ich grundlegende R-Befehle verwenden, um Teilmenge diesen Datenrahmen von den Zeilen 2017-01-01 bis 2017-01-31?

Dank

+2

See 'Date' - Termine sollten codiert mit einem numerischen Format anstelle von String-Zeilennamen. Wie auch immer, ich denke du kannst 'DF [roownames (DF)> =" 2017-01-01 "& yada_yada,]' – Frank

+1

benutzen Danke! Wie du schon sagtest, sollte ich die Daten wieder in Spalten setzen. Ich tat, um die Daten ähnlich wie die quantmod Funktion getSymbols zu halten. – Malakias

Antwort

0

Ich gehe auf ein Bein und denke, dass DF ist eigentlich ein xts Objekt. Wenn das der Fall ist, können Sie auf einen Datumsbereich beziehen sich eine Zeichenfolge verwendet, die von dem Start- und Enddatum besteht, durch einen Schrägstrich getrennt (/):

jan2017_data = DF["2017-01-01/2017-01-31"] 
0

Sie beginnen alle mit 2017-01 so grep nur auf, dass:

DF[grep("2017-01", rownames(DF)), ] 

, die für die Eingabe in der Anmerkung unten gibt:

  TICKER OPEN HIGH CLOSE 
2017-01-01 BOVA11 55.3 55.5 55.2 
2017-01-15 BOVA11 55.3 55.5 55.2 
2017-01-31 BOVA11 55.3 55.5 55.2 

Hinweis: Der in reproduzierbarer Form dargestellte Eingang DF ist:

Lines <- " 
      TICKER OPEN  HIGH CLOSE 
2017-01-01 BOVA11 55.30 55.50 55.20 
2017-01-15 BOVA11 55.30 55.50 55.20 
2017-01-31 BOVA11 55.30 55.50 55.20 
2017-02-01 BOVA11 55.30 55.50 55.20" 
DF <- read.table(text = Lines)