2016-08-29 6 views
2

Пусть у меня есть следующий мульти-серии зоопарк объект:Преобразование объекта зоопарк мульти-серии к списку одной серии зоопарка объекты

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 в список zoo объектов называется FTSE100 и FTALLSH. Я использовал следующее:

X.Zs <- list() 
for(i in 1:2){ 
    X.Zs[[i]] <- X.Z[,i] 
} 
names(X.Zs) <- colnames(X.Z) 

Есть ли более эффективный способ, чем выше?

Мой вопрос противоположен this question

ответ

2

lapply может сделать это очень просто

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

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]] 

 Смежные вопросы

  • Нет связанных вопросов^_^