【问题标题】:How to increase the number of observations in xts object by taking previous value?如何通过取先前的值来增加 xts 对象中的观察次数?
【发布时间】:2018-02-22 15:56:46
【问题描述】:

我有什么:

dta <- xts(
  c(1,2,3,4),
  order.by = timeDate(c(
     "2000-01-01 00:01:01",
     "2000-01-01 00:01:05",
     "2000-01-01 00:01:06",
     "2000-01-01 00:01:07"
     )
  )
)

                    [,1]
2000-01-01 00:01:00    1
2000-01-01 00:05:00    2
2000-01-01 00:06:00    3
2000-01-01 00:07:00    4 

我需要什么:

                    [,1]
2000-01-01 00:01:00    1
2000-01-01 00:02:00    1
2000-01-01 00:03:00    1
2000-01-01 00:04:00    1
2000-01-01 00:05:00    2
2000-01-01 00:06:00    3
2000-01-01 00:07:00    4

stackoverflow 上的类似问题只涉及减少xts 对象的周期性,并没有帮助我解决这个问题。

我正在清理分钟价格数据,其中仅记录实际交易的价格。显然,如果没有交易,这意味着价格与前一分钟保持一致。

【问题讨论】:

标签: r datetime xts


【解决方案1】:

将其与具有所需时间的零宽度序列(网格)合并:

rng <- range(time(dta))
g <- xts(, seq(rng[1], rng[2], by = 1))
na.locf(merge(dta, g))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2022-11-07
    • 2021-09-22
    • 1970-01-01
    相关资源
    最近更新 更多