如何在R中将多个数据集合并为一个?

时间:2013-11-01 23:44:46

标签: r

我有3个文本文件,每个文件有14个相似的列。我想先读取这3个文件(数据帧),然后将它们组合成一个数据帧。以下是我在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的向量。如何将文件合并到一个数据框中?

3 个答案:

答案 0 :(得分:1)

像这样:

do.call(rbind, NGSim)

答案 1 :(得分:0)

如果文件大小是一个问题,那么您可能希望使用data.table函数而不是像read.csv()那样效率较低的基函数。

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

答案 2 :(得分:0)

library(plyr)
rbind.fill(NGSim)

,或者

ldply(NGSim)