2014-01-20 68 views
1

我有一個列表,其中包含100個列表,其中每個列表有552個數值。我如何從100個列表中的每個列表中順序提取第一個值(依此類推直到552)?數據子集:列表中的列表R

實施例:包含編號1-10

list(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), c(1, 2, 3, 4, 5, 6, 7, 
8, 9, 10), c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), c(1, 2, 3, 4, 5, 
6, 7, 8, 9, 10), c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) 

我想提取術語依次各即1,1,1,1,1,然後 2,2,2-列表內5所列出, 2,2等

+0

你能舉一個小例子(比如你的實際數據的第10個),並指出你期望的輸出。 – A5C1D2H2I1M1N2O1R2T1

+0

您可以通過鍵迭代列表,然後迭代內部列表的對象。 – shakthydoss

+0

也許這樣的問題:http://stackoverflow.com/questions/16179197/transpose-a-list-of-lists –

回答

0

此語句產生向量的列表,以每個原始向量,所述第二元件等中的所述第一元件,一個短矢量的值給予NA

num <- max(unlist(lapply(x, length))) ## Length of the longest vector in x 

lapply(seq(num), function(i) unlist(lapply(x, `[`, i))) 

這裏是一個矩陣的方法:

matrix(unlist(x), ncol=length(x)) 

該矩陣的行是你的元素。這依賴於每個向量具有相同的長度。

+0

乾杯馬修 - 我正在超級愚蠢;轉換爲矩陣解決了我所有的問題! – Kvothe