2014-06-10 3 views
3

У меня есть большое количество кадров данных, которые я хочу объединить в один большой фрейм данных, используя rbind.Rbinding много кадров данных

Я видел здесь решения, но они предполагают, что кадры данных хранятся в списке кадров данных. Мой нет, и я не знаю о хорошем способе заставить их всех войти в список, не делая столько работы, как переплетение их всех по одному. Я могу получить список имен фреймов данных, используя 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 
Смежные вопросы