我希望cbind.xts
并do.call(cbind.xts)
以类似的经过时间执行。R2.11、R2.14 也是如此。
对于 R2.15.2 和xts 0.8-8,do.call(cbind.xts,...)
变体的执行速度非常慢,这有效地破坏了我之前的代码。
正如 Josh Ulrich 在下面的评论中指出的那样,xts包的维护者已经意识到了这个问题。同时,有没有方便的工作?
可重现的例子:
library(xts)
secs <- function (rows, from = as.character(Sys.time()), cols = 1, by = 1)
{
deltas <- seq(from = 0, by = by, length.out = rows)
nacol <- matrix(data = NA, ncol = cols, nrow = rows)
xts(x = nacol, order.by = strptime(from, format = "%Y-%m-%d %X") +
deltas)
}
n <- 20
d1 <- secs(rows=n*100,cols=n)
d2 <- secs(rows=n*100,cols=n)
system.time(cbind.xts(d1,d2))
相对
system.time(do.call(cbind.xts, list(d1,d2)))