首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >展开xts对象的索引

展开xts对象的索引
EN

Stack Overflow用户
提问于 2017-03-05 01:41:11
回答 1查看 733关注 0票数 3

我希望创建一个xts对象,其中包含来自其他xts对象的索引,但经过增强,即更长的时间:开始之前和结束后。例如,对于在相应索引之后添加5个句点,我将使用:

代码语言:javascript
复制
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. 如何在相应的开始之前添加句点?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-05 22:24:32

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

是。

2.如何在相应的开始之前添加期间?

下面是一个在起始边界和结束边界展开索引的示例,默认情况下使用NA值填充索引。您还可以使用rbind(xts1, xts2)提供的数据匹配列,轻松地在开始或结束时添加实际的xts数据。

代码语言:javascript
复制
# 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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42603474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档