我有一个包含近2,000个.csv文件的目录.
每个文件都具有以下结构(显示500行中的4个):
Date;QOF
1 2004-01-04 - 2004-01-10;9
2 2004-01-11 - 2004-01-17;11
3 2004-01-18 - 2004-01-24;13
4 2004-01-25 - 2004-01-31;13
Run Code Online (Sandbox Code Playgroud)
"QOF"列也是.csv文件的名称,每个文件都有一个唯一的名称(例如"MSTF","XQS"等).我希望每个.csv文件中的这一列合并到第一个正在读取的.csv文件,其中还包含日期变量.换句话说,我想保留第一个文件中的所有列,并将所有其他.csv文件中的第二列合并到此文件中.最终结果应该是这样的:
Date;QOF;MSTF;XQS
1 2004-01-04 - 2004-01-10;9;10;8
2 2004-01-11 - 2004-01-17;11;11;5
3 2004-01-18 - 2004-01-24;13;31;2
4 2004-01-25 - 2004-01-31;13;45;23
Run Code Online (Sandbox Code Playgroud)
到目前为止,我试过这个:
filenames <- list.files()
do.call("cbind", lapply(filenames, read.csv, header = TRUE))
Run Code Online (Sandbox Code Playgroud)
mybig <- do.call( rbind, lapply( listfiles, function(nam){
cbind(name=nam, read.file(paste0(nam,".csv"), header=TRUE) )
}
) )
Run Code Online (Sandbox Code Playgroud)
未经测试。请注意,我故意没有遵循您建议的结构。我想不出还有什么更令人困惑的数据结构可以使用。您可能正在考虑使用该格式进行输出,并且首先需要构建一个数据帧,然后将其写入带有分号分隔符的文件中。
| 归档时间: |
|
| 查看次数: |
12848 次 |
| 最近记录: |