gpt4 book ai didi

r - 按 R 中指定的不规则间隔拆分 xts 对象

转载 作者:行者123 更新时间:2023-12-04 15:33:11 25 4
gpt4 key购买 nike

我想将每日 xts 对象分成 4 个独立的周,分别对应于该月的以下几天:1 日至 7 日、8 日至 14 日、15 日至 21 日和 22 日到月底,最后一周通常是更长(但没关系!)。

下面是根据日期序列创建的 2004 年 1 月 xts 对象的一些示例代码:

week <- seq(from=as.Date("2004-01-01"), to=as.Date("2004-01-31"), by = "day")
x2 <- sample(1:50, 31) # generating 31 random numbers
January_series <- xts(x2, order.by=week) # create January daily series

问题是 1 月 1 日不是星期日,所以 split.xts不一定做我想做的事。

我最初认为我可以创建与上面提到的那些日子相对应的四个间隔,但是我不知道这是否是正确的方法。

有没有办法按您创建的间隔拆分 xts 对象?

最佳答案

您可以使用 .indexmday获取 xts 对象中每个观察值的月份日期。然后使用 cut定义要分割的间隔。

intervals <- cut(.indexmday(January_series), c(0,7,14,21,31), paste0("W",1:4))
splitlist <- split(January_series, intervals)

关于r - 按 R 中指定的不规则间隔拆分 xts 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31491490/

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