为什么as.Date应用于xts索引会产生不同的结果?

时间:2016-06-01 20:37:38

标签: r xts

为什么x和y(下面)在过滤xts对象时会产生不同的结果? x和y似乎都存储唯一的日期,一个作为字符,另一个作为日期。 ob [x]返回所有记录。 ob [y]每个日期返回1条记录(仅当记录与午夜00:00:00匹配时)。

seq1<- seq(as.POSIXct("2015-09-01"),as.POSIXct("2015-09-14"), by = "30 mins")
ob<- xts(data.frame(closingPrice=1:(length(seq1))),seq1)
x = unique(format(index(ob), format = "%Y-%m-%d"))
y = as.Date(unique(format(index(ob), format = y = as.Date(unique(format(index(ob), format = "%Y-%m-%d"))))))
ob[x]
ob[y]

1 个答案:

答案 0 :(得分:0)

x是一个字符向量,y是一个日期向量。当您通过日期时间对象对xts对象进行子集化时,您只能获得完全匹配(在这种情况下,每天的午夜)。

当您按字符向量进行子集时,可以使用xts&#39;基于ISO-8601的子集(参见?"[.xts")。这种子集化的一个特征是,您可以获得与最低指定组件匹配的所有观察结果

您指定了年,月和日,因此您将获得在该特定日期发生的所有索引观察。再举一个例子:指定长达一个小时的所有内容,然后您将获得该小时的所有观察结果。

> ob[paste(x[1],"12")]
                    closingPrice
2015-09-01 12:00:00           25
2015-09-01 12:30:00           26