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