我将所有.csv文件都放在一个文件夹中。每个文件都包含相同的列,但是,有些文件的顺序各不相同(例如,文件1可以将COLUMN A、COLUMN B和COLUMN C作为前三列,文件2可以将COLumb A、COLumb C和COLUMB作为前三栏(。我可以手动重新排序每个.csv文件,但当我完成时,我将拥有200多个.csv文件,每个.csv文件中有142列。
这是我迄今为止拥有的代码:
fileList <- list.files(path = "/path/to/folder/here",
recursive = TRUE,
pattern = "\.csv$",
full.names = TRUE)
files <- readr::read_csv(fileList, show_col_types = FALSE)
这是我得到的错误:
Error: Files must have consistent column names:
* File 1 column 64 is: mrtRespPrac.rt
* File 2 column 64 is: mrtRespPrac.started
我知道错误告诉我的是什么,所以我想知道是否有一种方法可以对存储在fileList
中的文件中的列进行重新排序,使它们的顺序完全相同,然后运行read_csv
代码行。我试过各种各样的谷歌搜索,但找不到任何特定的代码来做我想做的事情。
尝试
alldat <- lapply(fileList, read_csv, show_col_types = FALSE)
nms <- names(alldat[[1]])
combined <- do.call(rbind, lapply(alldat, subset, select = nms))