【问题标题】:xts cannot search a date without the timestamp, when using POSIXct使用 POSIXct 时,xts 无法搜索没有时间戳的日期
【发布时间】:2017-02-16 06:50:53
【问题描述】:

我在下面创建了设置。最终结果是一个 xts 其中索引 格式为as.POSIXct,包括日期和时间。

我的问题是为什么无法在索引中搜索日期, 排除搜索中的时间戳?是否有另一种方法可以在不输入时间的情况下在独家日期搜索之间跳转?

这是我的代码:

# create a set of test data to be used
d <- as.POSIXct(c("2014/10/06 06:30:00", "2015/02/02 12:27:00",
                  "2015/02/05 21:27:00", "2016/06/12 14:21:00"))
o = c(98.00, 97.67, 98.00, 98.10) # for "open" data
h = c(99.71, 98.97, 99.71, 99.41) # for "high" data
l = c(96.81, 96.86, 96.81, 97.70) # for "low" data
c = c(97.67, 98.67, 97.67, 98.83) # for "close" data
v = c(1000, 22000, 1000, 50000) # for "volume" data
a = c(1000, 22000, 1000, 50000) # for "adjusted" data

# create a dataframe
mydf1 <- data.frame("date" = d, "open" = o, "high" = h, "low" = l,
"close" = c, "volume" = v, "adjusted" = a)

# create an xts based on dataframe mydf1
myxts1 <- xts(mydf1[,-1], order.by = mydf1$date)

此命令不返回任何结果。

myxts1[as.POSIXct("2014-10-06")]

...同时所有这些命令都有效,这表明 xts 索引 返回结果。

first(myxts1, "year")
last(myxts1, "year")
myxts1[as.POSIXct("2014-10-06 06:30:00")]
window(myxts1, start = as.POSIXct("2015-02-02 12:27:00"),
       end = as.POSIXct("2015-02-05 21:27:00"))

【问题讨论】:

  • 您想使用myxts1["2014-10-06"]。如果您提供 Posixct 时间,xts 会尝试进行完全匹配,在这种情况下它不会找到。

标签: r xts


【解决方案1】:

你想用

myxts1["2014-10-06"]

如果您提供 POSIXct 对象,xts 会尝试进行完全匹配,但在这种情况下它找不到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 2021-10-15
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多