2015-03-30 3 views
1

У меня есть несколько наборов данных, которые я хочу объединить в одном. Я импортировал их с именами {a,b,c,....o}.Комбинирование наборов данных в R: вектор букв для rbind

Теперь я хочу объединить их в единый набор данных. Я мог бы сделать rbind(a,b,c,....o). Однако я хотел сделать это более elgantly; Я попробовал rbind(factor(letters[1:15])). Не работает.

Я полагаю, что моя трудность проистекает из моего незнания классов в R?

ответ

2

Если предположить, что имена столбцов одинаковы для всех наборов данных, мы можем использовать mget, чтобы получить набор данных в «списке», rbind элементов списка с помощью do.call

do.call(rbind, mget(letters[1:15])) 

Или другой вариант будет rbindlist от data.table. Это также будет работать с разными именами столбцов.

library(data.table) 
rbindlist(mget(letters[1:15])) 

В общем, если у вас есть много наборов данных, это может быть лучше читать файлы в список, т.е.

files <- list.files() #assuming all files are in the working directory 
lst <- lapply(files, read.table, header=TRUE) #or `fread` from data.table 
+0

спасибо! работает - отлично. – snoram

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