我正在努力
merge
几个
data.frames
合二为一
data.frame
. 因为我有一个完整的文件列表,所以我尝试使用循环结构。
到目前为止,循环方法运行良好。然而,它看起来效率很低,我想知道是否有一种更快更简单的方法。
以下是场景:
我有一个目录,上面有几个
.csv
所以我用
list.files
并读入前两个文件。后来我用
合并
得到一个
.
FileNames <- list.files(path=".../tempDataFolder/")
FirstFile <- read.csv(file=paste(".../tempDataFolder/", FileNames[1], sep=""),
header=T, na.strings="NULL")
SecondFile <- read.csv(file=paste(".../tempDataFolder/", FileNames[2], sep=""),
header=T, na.strings="NULL")
dataMerge <- merge(FirstFile, SecondFile, by=c("COUNTRYNAME", "COUNTRYCODE", "Year"),
all=T)
现在我用一个
for
循环以获取所有剩余的
.csv
将它们转换为现有的
数据帧
:
for(i in 3:length(FileNames)){
ReadInMerge <- read.csv(file=paste(".../tempDataFolder/", FileNames[i], sep=""),
header=T, na.strings="NULL")
dataMerge <- merge(dataMerge, ReadInMerge, by=c("COUNTRYNAME", "COUNTRYCODE", "Year"),
all=T)
}