У меня есть папка с сотнями CSV-файлов, которые я хотел бы объединить в единый фрейм данных.Слияние файлов CSV с несогласованными заголовками в R
Я использую этот код, который работает относительно хорошо, но только для файлов с соответствующими заголовками.
df <- do.call(rbind, lapply(filenames , read.csv))
Вопрос о двух частях.
1.) Я хотел бы добавить этот код do.call включить дополнительный столбец, который включает в себя имя файла .csv для каждой строки данных
2.) Я хотел бы также, чтобы иметь возможность объединить .csv с несогласованными заголовками. Каждый файл имеет четыре столбца (с разными именами), но тип данных совпадает. Поэтому я хочу заставить файлы связываться вместе независимо от заголовка столбца.
Это сообщение было полезным, но не для объединения файлов с не-mathcing заголовки:
Merge multiple CSV files and remove duplicates in R
Я также использовал этот код; опять же только для файлов с соответствующими заголовками:
for (file in filenames){
# if the merged dataset doesn't exist, create it
if (!exists("dataset")){
dataset <- read.csv(file, header=TRUE, sep="\t")
}
# if the merged dataset does exist, append to it
if (exists("dataset")){
temp_dataset <-read.csv(file, header=TRUE, sep="\t")
dataset<-rbind(dataset, temp_dataset)
rm(temp_dataset)
}
}
Что очень неясно, вот что вы хотели бы случиться с несоответствующими столбцами? Вы удаляете их, сохраняете ли вы их всех? Я последний, что происходит с файлами, у которых нет новых столбцов. –
@RicardoSaporta. Я немного изменил вопрос. Каждый файл имеет четыре столбца (с разными именами), но тип данных совпадает. Поэтому я хочу заставить файлы связываться вместе независимо от заголовка столбца. – Flammulation
- это столбцы всегда в одном порядке, от одного файла к другому? Если да, просто прочитайте их с помощью 'header = FALSE', а затем rbind их –