2013-11-01 2 views
1

У меня есть 3 текстовых файла, каждый из которых имеет 14 похожих столбцов. Сначала я хочу прочитать эти 3 файла (фреймы данных), а затем объединить их в один фрейм данных. Ниже то, что я пытался найти после того, как помощь в списке рассылки R:Как объединить несколько наборов данных в один из R?

file_name <- list.files(pattern='sEMA*') # CREATING A LIST OF FILE NAMES OF FILES HAVING 'sEMA' IN THEIR NAMES 
NGSim <- lapply (file_name, read.csv, sep=' ', header=F, strip.white=T) # READING ALL THE TEXT FILES 

Этот фрагмент кода может читать файлы в целом, но не объединить их в один кадр данных. Я пробовал data.frame(NGSim), но R дает ошибку: не может выделить вектор размером 4.2 Mb. Как объединить файлы в одном кадре данных?

ответ

0
library(plyr) 
rbind.fill(NGSim) 

или

ldply(NGSim) 
+0

Спасибо. –

1

Как это:

do.call(rbind, NGSim) 
+0

Приведенные выше результаты функции в Error: не может выделить вектор размером 29,8 Мб –

+0

попытайтесь начать новый сеанс R. – flodel

0

Если размер файла является проблемой, так, вы можете захотеть использования data.table функции вместо менее эффективных базовых функций, таких как read.csv().

library(data.table) 
NGSim <- data.frame(rbindlist(lapply(list.files(pattern='sEMA*'),fread)))  
+0

Я получаю эту ошибку: Ошибка в FUN (c «" sEMA-0750am-0805am.txt "," sEMA-0805am-0820am.txt "," sEMA-0820am-0835am.txt ": Ожидаемый sep ('') но « » заканчивает поле 36 в строке 28 при обнаружении типов: 1731 397 5135 721 7,0 5,5 1 40,57 3,33 1 –

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