У меня возникли проблемы со списками, и unlist(), похоже, не режет его.Извлечь объекты xts из списков и подписок
Возникла проблема: я выполняю функцию над списком, используя lapply(). Эта функция разбивает объекты xts по определенным критериям, таким образом, она возвращает список из двух объектов xts. Результирующий список из lapply() состоит из нескольких вложенных списков (в моем примере: вывод выглядит как list.2)
Пример:
library(xts)
#create three dummy xts objects
a<-c(1:10)
b<-c(2:5)
c<-c(6:9)
a.by<-as.POSIXct(a, tz="GMT", origin="1990-01-01 00:00:00")
b.by<-as.POSIXct(b, tz="GMT", origin="1990-01-01 00:00:00")
c.by<-as.POSIXct(c, tz="GMT", origin="1990-01-01 00:00:00")
xts.a<-xts(a, order.by=a.by)
xts.b<-xts(b, order.by=b.by)
xts.c<-xts(c, order.by=c.by)
# creating first list of objects a & b. this is passed to my function
list.1<-list(xts.a, xts.b)
# creating second list of objects a & b, c. this is similar to my output
list.2<-list(list.1, xts.c)
Цель: Я хочу передать эти объекты xts на дополнительные функции. Мне нужен список всех объектов xts в основном списке и во всех под списках. В моем примере я хотел бы list (xts.a, xts.b, xts.c). Я хотел бы подмножить под-список, разбить его и основной список вверх и relist с частями (объектами xts).
Проблемы: Из-за загрузки данных, я пытаюсь сделать это автоматически, а не только выше. Таким образом, для более чем одного под-списка, а не конкретно в этом порядке, или только с тремя объектами в списке.
Мысли: Я пытался работать с класса() ->list.2 [класс (list.2) == "список"]
Создание векторов (Подменю это, кажется, работал лучше всего до сих пор) ->subset_vector < -lapply (list.2, class), а затем используя этот вектор (плюс последовательность), чтобы выбрать списки ->list.2 [[sequence [subset_vector == "list "]]]
Но все это кажется слишком сложным, re должно быть более легким решением?
Заранее благодарим за вашу помощь!
Бен
Это отличный первый вопрос. Держи их, Бен К! –