Как создать цикл для rbind

У меня есть 37 фреймов данных: ts_1, ts_2, ..., ts_37

Я хочу объединить их в один фрейм данных.

Я мог бы сделать это, написав:

ts <- rbind(ts_1, ts_2, ...)

Как выглядит цикл, который автоматически выполняет rbind?


person feder80    schedule 28.01.2014    source источник
comment
это не работает. У меня есть 37 фреймов данных. ц_1, ц_2, ..., ц_37. как я могу создать список со всеми этими именами?   -  person feder80    schedule 28.01.2014


Ответы (1)


Предполагая, что они у вас есть в списке:

do.call("rbind", df_list)
person Oleg Sklyar    schedule 28.01.2014
comment
И что вы хотите зациклить (поскольку вы явно просите зациклить)? В R есть только две структуры данных, которые позволяют вам хранить фреймы данных вместе и перебирать их: список и среда. Последний вы можете преобразовать в список для вызова do.call. - person Oleg Sklyar; 28.01.2014
comment
поэтому я должен создать список (с циклом), а затем использовать предложенный вами код? - person feder80; 28.01.2014
comment
Нет необходимости в цикле: mylist<-ls(pattern='ts_') - person Carl Witthoft; 28.01.2014
comment
хорошо, теперь у меня есть список, но этот список не работает с функцией do.call! --› do.call(rbind, mylist) - person feder80; 28.01.2014
comment
Думаю, я правильно понял: do.call(rbind, mget(ls(pattern='ts_'))) - person feder80; 28.01.2014
comment
@feder80 +1 за то, что копал и узнавал больше о R :-) - person Carl Witthoft; 28.01.2014