2017-08-15 192 views
0

我有以下數據幀列表。我想將它們組合在一起,並把結果存儲在數據表R數據表:如何將數據幀列表合併爲單個數據表

A <- data.frame(A=1:3) 
B <- data.frame(B=4:6) 
AB_List <- list(A,B) 

一個實現這一目標的途徑之一是

AB_df <- data.table(do.call("cbind", AB_List)) 

是否有任何其他方法直接獲得的結果,沒有它包裝明確

+3

'data.table(A,B)'或'as.data.table(AB_List)'。 – djhurio

+0

你打敗了我,@djhurio。你應該把它作爲答案。 –

+0

@djhurio:我有50個這樣的數據框的列表。我應該在循環中運行它嗎? –

回答

3

如果您有一個列表中的數據幀,as.data.table將工作。看例子。

require(data.table) 

AB_list <- lapply(seq(LETTERS), function(i) { 
    df <- data.frame(A = (3*i-2):(3*i)) 
    names(df) <- LETTERS[i] 
    df 
}) 

as.data.table(AB_list) 

要獲得使用ls()和論證patterngrep()數據幀的列表,你需要得到的數據幀的名字的載體。之後,您可以創建數據框的列表。

df_names <- LETTERS 
df_list <- mget(df_names)