Я думаю, у вас действительно есть отличное решение.Если вы начинаете с list.files()
для создания списка ваших CSV-файлов:
fileList <- list.files(path="path/to/csv/files")
, затем читайте все файлы, используя lapply()
:
datList <- lapply(fileList,read.csv)
, затем объедините первые двафайлы (при условии, что код одинаков для каждого файла):
dat <- merge(datList[[1]][,-2],datList[[2]][,-2],by="Index",
suffixes=c(datList[[1]]$code[1],datList[[2]]$code[1]))
Аргумент suffixes
поможет вам назвать столбцы по коду для дальнейшего использования.Затем переберите остальную часть datList, используя простой цикл for, объединяя каждый из них с dat:
for (i in 3:length(datList)){
dat <- merge(dat,datList[[i]][,-2],by="Index",suffixes=datList[[i]]$code[1])
}
, и тогда вы сможете запустить cor
для dat
минус первый столбец.Возможно, вам придется немного подправить этот код, но эта общая идея должна сработать.