2014-06-10 57 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