gpt4 book ai didi

r - 按索引(日期)拆分 xts 对象

转载 作者:行者123 更新时间:2023-12-03 06:49:42 27 4
gpt4 key购买 nike

我有一个包含日内数据的 xts 对象:

head(stocks[,1])
SMH.close
2009-01-02 09:31:00 17.66
2009-01-02 09:32:00 17.66
2009-01-02 09:33:00 17.64
2009-01-02 09:34:00 17.60
2009-01-02 09:35:00 17.58
2009-01-02 09:36:00 17.63

我想对日内数据执行各种分析,但操作不应跨越日边界。所以我想做的是按日期拆分数据(忽略时间)。因此,我提取了索引并通过以下方式保存了唯一的日期值:

y <- index(stocks)
x <- strptime(y, format="%Y-%m-%d")
uniquedates <- unique(x)

现在我想做一些与 ?split 中的示例类似的事情

> g <- airquality$Month
> l <- split(airquality, g)

此处空气质量数据按“月份”列的值拆分为一个列表对象。我不确定如何做类似的事情,因为在我的例子中日期是索引而不是数据列。我试过了,但出现错误。

> split(stocks, uniquedates)
Error in args[[i]] : subscript out of bounds

也许有一种更简洁的方法可以实现我想做的事情。非常感谢您的帮助。

最佳答案

您应该跳过 unique() 步骤。只需将 split.xts 与 f="days" 参数一起使用即可。

data(sample_matrix)
sample.xts <- as.xts(sample_matrix, descr='my new xts object')
split.xts(sample.xts, f="days")
[[1]]
Open High Low Close
2007-01-02 50.03978 50.11778 49.95041 50.11778

[[2]]
Open High Low Close
2007-01-03 50.2305 50.42188 50.2305 50.39767

[[3]]
Open High Low Close
2007-01-04 50.42096 50.42096 50.26414 50.33236

[[4]]
snipped

关于r - 按索引(日期)拆分 xts 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005433/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com