0
我有一個DF與這樣一個ETF的每日價格:的R - 在日期格式的行子集
TICKER OPEN HIGH CLOSE
2017-01-01 BOVA11 55.30 55.50 55.20
我行名指定日期(YYMMDD),我該如何使用基本R命令來這個數據框從行2017-01-01到2017-01-31的子集?
感謝
我有一個DF與這樣一個ETF的每日價格:的R - 在日期格式的行子集
TICKER OPEN HIGH CLOSE
2017-01-01 BOVA11 55.30 55.50 55.20
我行名指定日期(YYMMDD),我該如何使用基本R命令來這個數據框從行2017-01-01到2017-01-31的子集?
感謝
我打算出去走一趟,猜測DF
實際上是一個xts
對象。如果是這樣的話,你可以使用一個字符串,它由開始和結束日期,由正斜槓(/
)分離指日期範圍:
jan2017_data = DF["2017-01-01/2017-01-31"]
他們都開始2017-01所以只用grep上:
DF[grep("2017-01", rownames(DF)), ]
這在下面的說明輸入給:
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
注:以可重現形式顯示的輸入DF
是:
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)
見'Date' - 日期應使用數字格式而不是字符串行名進行編碼。不過,我想你可以使用DF [rownames(DF)> =「2017-01-01」&yada_yada,]' – Frank
謝謝!正如你所說,我想我應該再次把日期列在列中。我正在做的是保持類似於quantmod函數getSymbols的數據。 – Malakias