我有 6 个多个文件,每个文件只有 1 列名称。我想读取所有这些文件并将它们组合在 1 个数据框中,使其看起来像这样:
file1 file2 file3 file4 file5 file6
adam adam adam adam adam adam
Roy NA Roy Roy NA NA
NA Sam Sam NA NA NA
结果colnames
数据框的 应该代表实际的文件名。假设我读取的文件名为file1.txt
,file2.txt
依此类推..
任何帮助都感激不尽。
到目前为止我一直在尝试什么:
multmerge = function(mypath){
+ filenames=list.files(path=mypath, full.names=TRUE, pattern = "\\.txt$")
+ datalist = lapply(filenames, function(x){read.csv(file=x,header=F)})
+ Reduce(function(x,y) {merge(x,y, all.x=T)}, datalist)}
> mymergeddata = multmerge("/Path/To/The/Folder/Having/All/Files")
> dim(mymergeddata)
[1] 11508 1
如此处所见,它将所有值 ( names
) 组合在一列中。