2013-07-31 1 views
1

Я борюсь с извлечением членов из списков. Приведенный ниже код создает список из 5 членов, каждый из которых имеет (под) список из двух членов. Я хотел бы извлечь первые члены каждого под-списка i.e (W1 и V1). Как мне это сделать?R извлечение элементов списков и подписок (класс S4)

library(wavelets) 

library(fGarch) 

x<-rnorm(32) 

spec.c <- garchSpec(model = list(omega=0.99, alpha=0.005, beta=0.005)) 

sim <- replicate(5, dwt(cumsum(garchSim(spec.c, n = 32)), filter="haar", 
            n.levels=2, boundary="reflection")) 

Большое спасибо.

+0

добро пожаловать. –

ответ

2

Попробуйте это ...

W <- lapply(sim , function(x) `@`(x , W)[[1]]) 
V <- lapply(sim , function(x) `@`(x , V)[[1]]) 

Вы получите список первой W каждый из 5 списков верхнего уровня и первого V каждого из 5 списков верхнего уровня.

Оператор @ используется для доступа к названным слотам в объекте типа S4.

+0

Это сработало хорошо, но что, если я хочу сделать расчет (или сказать, установить на ноль) все W1, не извлекая их из списка? – user2633313

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

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