1

我有 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 的向量。如何将文件合并到一个数据框中?

4

3 回答 3

1

像这样:

do.call(rbind, NGSim)
于 2013-11-01T23:51:41.520 回答
0

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

library(data.table)
NGSim <- data.frame(rbindlist(lapply(list.files(pattern='sEMA*'),fread)))    
于 2013-11-01T23:51:42.670 回答
0
library(plyr)
rbind.fill(NGSim)

或者,

ldply(NGSim)
于 2013-11-01T23:52:29.930 回答