【问题标题】:Subsetting seconds in xts/zoo在 xts/zoo 中设置秒数
【发布时间】:2013-05-28 15:39:58
【问题描述】:

是否有可能在 xts 中设置秒数?

2013-01-01 00:01:00 2.2560000
2013-01-01 00:02:00 2.3883333
2013-01-01 00:03:00 1.8450000
2013-01-01 00:04:00 1.6966667
2013-01-01 00:04:03 1.3100000
2013-01-01 00:05:00 0.8533333

我想得到最后没有 :00 秒的行!

2013-01-01 00:04:03 1.3100000

通常我会按时间 [T09:00/T09:30] 进行子集化,但现在我希望这些行没有带有 00 秒的时间戳。谢谢!

【问题讨论】:

  • 我没有投反对票,但可以理解为什么会发生反对票。现在你的问题还不清楚。 subset seconds 是什么意思?您有多个问题,而不是一个结构良好的 我如何... 问题。也许更好的方法是说这是我拥有的数据(举一个例子),这是我希望数据看起来的方式(举一个例子)。至少要收紧问题来表达你的追求。
  • 现在您的问题是要提取不以 00 结尾的行,这与您之前的“使时间序列规则”请求相矛盾。你要哪个?
  • 我想看看不以 00 结尾的行发生了什么,但想稍后提取所有具有 00 的行。

标签: r xts zoo


【解决方案1】:

首先,我必须将您的示例数据导入 R(请使用 dput 下次)

lines <- '2013-01-01 00:01:00 2.2560000
2013-01-01 00:02:00 2.3883333
2013-01-01 00:03:00 1.8450000
2013-01-01 00:04:00 1.6966667
2013-01-01 00:04:03 1.3100000
2013-01-01 00:05:00 0.8533333'

tmp <- read.table(text=lines)
x <- xts(tmp[, 3], as.POSIXct(paste(tmp[, 1], tmp[, 2])))

您可以使用.indexsec 函数提取第二个为(或不是)0 的行。

x[.indexsec(x) == 0]
#                         [,1]
#2013-01-01 00:01:00 2.2560000
#2013-01-01 00:02:00 2.3883333
#2013-01-01 00:03:00 1.8450000
#2013-01-01 00:04:00 1.6966667
#2013-01-01 00:05:00 0.8533333

x[.indexsec(x) != 0]
#                    [,1]
#2013-01-01 00:04:03 1.31

另一个想法是使用类似于endpoints 函数的未导出的xts:::startof 函数。

x[xts:::startof(x, "mins")]
#                         [,1]
#2013-01-01 00:01:00 2.2560000
#2013-01-01 00:02:00 2.3883333
#2013-01-01 00:03:00 1.8450000
#2013-01-01 00:04:00 1.6966667
#2013-01-01 00:05:00 0.8533333

或者,如果你只有一个不以 00 结尾的行,你可以使用负子集:

x[-xts:::startof(x, "mins")]
#                    [,1]
#2013-01-01 00:04:03 1.31

这里是如何通过与具有所需索引的零宽度 xts 对象合并来做到这一点。

merge(xts(, seq(start(x), end(x), by="min")), x, all=FALSE)
#                            x
#2013-01-01 00:01:00 2.2560000
#2013-01-01 00:02:00 2.3883333
#2013-01-01 00:03:00 1.8450000
#2013-01-01 00:04:00 1.6966667
#2013-01-01 00:05:00 0.8533333

【讨论】:

    猜你喜欢
    • 2012-06-23
    • 1970-01-01
    • 2016-03-17
    • 2011-09-21
    • 2013-03-17
    • 2013-04-07
    • 2020-07-09
    • 2018-07-13
    • 2011-05-21
    相关资源
    最近更新 更多