2013-05-14 2 views
2

Я хотел бы rbind все a dataframes в ALIST - как бы я это сделал?rbind все dataframes в списке списков по имени

alist <- list(a = data.frame(1:3), 
       b = data.frame(4:6), 
       a = data.frame(7:9)) 

(ALIST <- list(alist, alist, alist)) 
+2

Количество предыдущих вопросов по этому: http://stackoverflow.com/questions/1652522/ rbind-dataframes-in-a-list-of-lists? rq = 1 http://stackoverflow.com/questions/2851327/converting-a-list-of-data-frames-into-one-data-frame- in-r? lq = 1 http://stackoverflow.com/questions/2209258/merge-several-data-frames-into-one-data-frame-with-a-loop/2209371 http: // stac koverflow.com/questions/11934774/rbinding-a-list-of-lists-of-dataframes-based-on-nested-order?lq=1 – Thomas

+0

Ни один из этих ответов не помог мне. Но admittetdly 'lapply (ALIST, function (x) x [[" a "]]) должен был прийти мне на ум, прежде чем ... – Kay

ответ

2

Использование lapply для подмножества из элементов, которые вы хотите, и rbind с do.call в этом списке:

do.call("rbind",lapply(ALIST,function(x) x[["a"]])) 
    X1.3 
1 1 
2 2 
3 3 
4 1 
5 2 
6 3 
7 1 
8 2 
9 3 
Смежные вопросы