2014-06-10 92 views
3

我想要使用rbind將大量數據幀合併爲一個大數據幀。調整大量數據幀

我已經在這裏看到了解決方案,但他們假設數據框存儲在數據框列表中。我不是,我不知道有什麼好辦法讓他們都成爲一份清單,而不是像一次一個一個地完成他們所做的那麼多工作。我可以使用ls()獲取數據幀名稱的列表,但我似乎無法獲取數據幀的列表(與數據幀名稱的列表相反)。

回答

3

假設您的數據幀的名稱類似於df1,df2等,您可以使用以下內容:

df1 <- data.frame(a=1:2, b=3:4) 
df2 <- data.frame(a=0:1, b=3:4) 
df3 <- data.frame(a=5, b=42) 
# building a vector of names 
df_names <- paste0('df', 1:3) 
df_names 
[1] "df1" "df2" "df3" 
# getting a list of data frames 
lapply(df_names, get) 
[[1]] 
    a b 
1 1 3 
2 2 4 

[[2]] 
    a b 
1 0 3 
2 1 4 

[[3]] 
    a b 
1 5 42 
# binding data frames 
do.call(rbind, lapply(df_names, get)) 
    a b 
1 1 3 
2 2 4 
3 0 3 
4 1 4 
5 5 42