2013-07-31 39 views
1

我很努力從列表中提取成員。下面顯示的代碼產生一個5名成員的列表,每個成員都有一個包含兩個成員的(子)列表。 我想提取每個子列表的第一個成員,即(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]]) 

你會得到各5頂層列表的第一W和各5頂層列表的第一V的列表。

@運算符用於訪問S4類型對象中的指定槽。

+0

這很好,但如果我想對所有的W1進行計算(或者說,設置爲零)而不從列表中提取它們呢? – user2633313