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