2015-10-22 3 views
2

У меня есть кадры много данных, и я хочу, чтобы объединить их, чтобы одна большая кадр данныхОбъединение много разных данных в R

Например, я

month day time h 
1  1 23 112 
1  2 34 143 
1  3 54 352 

и

month day time h 
2  1 42 133 
2  2 31 342 
2  3 55 333 

Все они имеют одинаковые имена столбцов, и я хочу добавить их вместе, чтобы месяцы были в порядке возрастания в большом массиве данных около 60 месяцев. Я думаю, x<-do.call("cbind",dataframes) сделает это. Но когда я пытаюсь позвонить head(x), чтобы проверить его данные Error in head(x) : object 'x' not found

Есть ли лучший способ объединить/объединить эти фреймы данных?

Я хочу, чтобы кадр выходных данных выглядеть

month day time h 
1  1 23 112 
1  2 34 143 
1  3 54 352 
... 
2  1 42 133 
2  2 31 342 
2  3 55 333 
+0

Каков ожидаемый результат, основанный на двух наборах данных ?. Если вам нужно просто переписать их 'do.call (rbind, listofdataframes)' или если это 'merge', тогда' Reduce (function (...) merge (..., by = c ('month', ' day ',' time '), listofdataframes) ' – akrun

+0

Не хотите ли вы' rbind', а не 'cbind'? – thelatemail

+0

@akrun sorry добавил ожидаемый результат – Sharl

ответ

3

Мы можем использовать rbind вместо cbind.

do.call(rbind, lst) 

Или, если мы используем data.table, мы можем сделать

library(data.table) 
rbindlist(lst) 

Или с dplyr

library(dplyr) 
bind_rows(lst) 

где 'LST' является list из '' data.frame

Смежные вопросы