r - 扩展 xts 对象的索引

标签 r xts

我想用其他 xts 对象的索引创建一个 xts 对象,但增强了,即更长:在开始之前和结束之后。 例如。在相应索引后添加 5 个句点,我将使用:

data(sample_matrix)
xts_object <- as.xts(sample_matrix, descr='my new xts object')

add_right <- 5
seq(as.Date(end(xts_object)), by = unclass(periodicity(xts_object))$label, length = (add_right+1))[-1]

2 个问题:

  1. 这是否总是有效(我将在函数内部使用它)
  2. 如何在相应开始前添加句点?

提前致谢!

最佳答案

1。这是否总是有效(我将在函数内部使用它)

是的。

2。如何在相应开始前添加句点?

这里是一个在开始和结束边界上扩展索引的例子,默认使用 NA 值来填充。您还可以使用 rbind(xts1, xts2) 在开头或结尾轻松添加实际的 xts 数据,前提是数据的列匹配。

# add dateFormat = "Date" to avoid misaligned timestamps
# in relation to time component HH:MM:SS when `rbind`ing with
# Date type indexes (as opposed to POSIXct type indexes):
xts_object <- as.xts(sample_matrix, descr='my new xts object', dateFormat="Date") 

my_periodicity <- unclass(periodicity(xts_object))$label
add_right <- 5
v_dates_end <- seq(as.Date(end(xts_object)),
                   by = my_periodicity,
                   length.out = (add_right+1))[-1]

st_date <- as.Date(start(xts_object))
v_dates_start <- seq(from = st_date - 5,
                     to = st_date - 1,
                     by = my_periodicity)

x_expand_time_index <- xts(, order.by = c(v_dates_start, v_dates_end))
# Note the fill argument could be replaced by say 0, 1, NaN, etc
x <- merge(xts_object, x_expand_time_index, fill = NA)

head(x)
#                Open     High      Low    Close
# 2006-12-28       NA       NA       NA       NA
# 2006-12-29       NA       NA       NA       NA
# 2006-12-30       NA       NA       NA       NA
# 2006-12-31       NA       NA       NA       NA
# 2007-01-01       NA       NA       NA       NA
# 2007-01-02 50.03978 50.11778 49.95041 50.11778
tail(x)
#                Open     High      Low    Close
# 2007-06-30 47.67468 47.94127 47.67468 47.76719
# 2007-07-01       NA       NA       NA       NA
# 2007-07-02       NA       NA       NA       NA
# 2007-07-03       NA       NA       NA       NA
# 2007-07-04       NA       NA       NA       NA
# 2007-07-05       NA       NA       NA       NA

关于r - 扩展 xts 对象的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603474/

相关文章:

r - 列槽不足

r - 为什么惰性求值在这个 R 函数中不起作用?

r - 在 r 中匹配名称并将数据集更改为宽格式

r - 带有 ifelse 和两个对象的自定义函数需要以动态方式从正确的列中读取 R

r - 提高 xts 的多个时间范围子集的性能?

r - 使用 h2o.saveModel 在 R 中保存 h2o 模型时出错

r - 在 stringr 中使用 perl/regex 到 upper\U

c++ - Rcpp 调试- fatal error : Datetime. h : No such file or directory; xtsAPI. h: 没有这样的文件或目录

r - 如何按时间间隔匹配数据帧?

R:同步时间序列(xts)对象