作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图用一个独特的不规则时间序列拆分多个 xts 对象。 split.xts
按天、分、秒等进行拆分。使用断点需要等长的向量,这会在我尝试拆分数据时产生错误。
dd <- c("2014-02-23","2014-03-12", "2014-05-29")
tt <- c("03:15:52", "03:49:17", "04:03:24", "05:30:19", "05:56:49",
"06:14:04", "09:42:13", "11:57:25", "11:58:02", "12:12:49",
"15:38:00", "15:44:21", "16:16:04")
dt <- c(outer(dd,tt,paste))
xx <- as.xts(seq_along(dt), as.POSIXct(dt))
spltr <- c("2014-01-13 12:09:32", "2014-02-09 06:23:41",
"2014-03-01 13:35:12", "2014-05-14 07:12:52")
我正在尝试将 xx
拆分为 spltr
以查找每个片段中记录的频率。我尝试了 aggregate(xx,by=spltr,length)
但我收到错误,因为 spltr
与 xx
的长度不同。 split.xts
不起作用,因为 spltr
不规则。
最佳答案
首先,将您的 xx
对象与包含您的断点的空 xts 对象合并。
xs <- merge(xx, xts(,as.POSIXct(spltr)))
然后您可以通过使用的
.which.i
参数在xs
中找到spltr
对象的“端点” .xts
ep <- c(0,xs[as.POSIXct(spltr),which.i=TRUE])
现在您可以在 xs
对象上使用 period.apply
(确保处理任何潜在的 NA
)。
> period.apply(xs, ep, function(x) nrow(na.omit(x)))
xx
2014-01-13 12:09:32 0
2014-02-09 06:23:41 0
2014-03-01 13:35:12 13
2014-05-14 07:12:52 13
关于r - 将时间序列拆分为另一个不规则时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831745/
我是一名优秀的程序员,十分优秀!