将多系列zoo对象转换为单个系列zoo对象的列表

时间:2016-08-29 22:42:30

标签: r zoo

假设我有以下多系列zoo对象:

X.Z <- structure(c(0, 0.01, 0.01, 0, 0, 0.01), .Dim = c(3L, 2L), .Dimnames = list(
NULL, c("FTSE100", "FTALLSH")), index = structure(c(5844, 
                                                    5845, 5846), class = "Date"), class = "zoo")

我想将X.Z转换为名为zooFTSE100的{​​{1}}个对象列表。我使用了以下内容:

FTALLSH

还有更多&#39;更多&#39;有效的方式比以上?

我的问题与this question

相反

2 个答案:

答案 0 :(得分:2)

lapply可以非常简单地完成

X.Zs <- lapply(X.Z,"[")

答案 1 :(得分:0)

您可以尝试从此post获取此类内容:

X.Zs <- lapply(seq_len(dim(X.Z)[2L]), function(i) {x <- X.Z[, i]; class(x) <- 'zoo'; x})
names(X.Zs) <- dimnames(X.Z)[[2L]]