2012-07-30 35 views
0

我有一個像合併列出清單

$`1` 
[1] 1959 13 

$`2` 
[1] 2280 178 13 

$`3` 
[1] 2612 178 13 

$`4` 
[1] 2902 178 13 

,結構清單是這樣的:

structure(list(`1` = c(1959, 13), `2` = c(2280, 178, 13), `3` = c(2612, 
178, 13), `4` = c(2902, 178, 13)......,.Names = c("1", "2", "3", "4"....) 

我怎麼能結合這個列表中的列表,併產生這樣的列表:

$`list` 
[1] 1959 13 
[2] 2280 178 13 
[3] 2612 178 13 
[4] 2902 178 13 
+1

你可以使用dput與你原來的列表,以顯示其確切的結構? – 2012-07-30 18:19:30

+3

您所需的輸出看起來就像您的輸入。您是否也可以使用dput來顯示(樣本)所需的輸出? – 2012-07-30 18:28:17

+0

也許不是你以後,但如果你的列表是在名爲'list'一個對象,你可以使用'STR(名單)'來,這樣它看起來更像你所需的輸出打印。 – GSee 2012-07-30 19:29:57

回答

4

這是最接近我能得到什麼你問了一個矩陣:

LIST <- structure(list(`1` = c(1959, 13), `2` = c(2280, 178, 13), `3` = c(2612, 
178, 13), `4` = c(2902, 178, 13))) 

cbind.fill <- 
function(...) { 
    nm <- list(...) 
    nm<-lapply(nm, as.matrix) 
    n <- max(sapply(nm, nrow)) 
    do.call(cbind, lapply(nm, function(x) rbind(x, 
     matrix(, n - nrow(x), ncol(x))))) 
} 

t(do.call('cbind.fill', LIST)) 
print(X$list, na.print="", quote=FALSE) 

或者使用plyr

LIST <- lapply(LIST, function(x) data.frame(t(x))) 
library(plyr) 
rbind.fill(LIST) 

也許你只是不想名字?

如果是這樣......

names(LIST) <- NULL 
LIST 

我想我只是不明白輸出結構你之後。

+0

感謝您的回答....我想我很困惑與R中自己... – Seen 2012-07-30 18:39:23

+0

認爲它是一個有序的容器,你可以扔東西到(矩陣,dataframes,數組,甚至另一個列表) – 2012-07-30 18:42:35

0

試試下面的代碼。問題是我不太確定你想要什麼作爲你的輸出;你稱它爲一個列表,但它看起來非常像矩陣。假設你想把它作爲一個矩陣,下面應該做的伎倆:

x <- list() 
x$`1` <- c(1959, 13) 
x$`2` <- c(2280, 178, 13) 
x$`3` <- c(2612, 178, 13) 
x$`4` <- c(2902, 178, 13) 

# maximum number of elements in any vector 
max <- max(sapply(x, function(y) length(y))) 

# make all vectors the same length 
x <- lapply(x, function (y){length(y) <- max; y}) 

# combine them in a matrix 
result <- do.call(rbind, x) 

結果:

> result 
    [,1] [,2] [,3] 
1 1959 13 NA 
2 2280 178 13 
3 2612 178 13 
4 2902 178 13 

您可以將這個矩陣輸出始終保存爲一個列表的元素。我的想法是使長度等於here

如果你想讓你的矩陣是數字的,你將無法擺脫NA(你總是可以將它變成字符並使NA成爲「」,但這對於進一步的工作可能不是一個好主意與矩陣)。

這可能是因爲我很困惑,你想要一個清單畢竟,但是約什在他的評論中提到,你的數據是正確的,開始與在這種情況下。

+0

鏈表結構我想你是對的...我莫名其妙地由R myself..I的列表結構困惑想我需要我的數據轉換成一個矩陣... – Seen 2012-07-30 18:38:12

+0

兩個愛德華和我已經展示瞭如何將您的數據轉換成一個矩陣。 – 2012-07-30 18:44:40