에 병합합니다. 단일 데이터 프레임으로 병합하려는 수백 개의 .csv 파일이있는 폴더가 있습니다.일치하지 않는 헤더가있는 CSV 파일을 R
이 코드는 비교적 잘 작동하지만 머리글이 일치하는 파일에만 사용되었습니다.
df <- do.call(rbind, lapply(filenames , read.csv))
두 부분 질문.
1) 나는 데이터의 각 행에 대해 .csv 파일 이름을 포함하는 추가 열을 포함하려면이 do.call 코드를 추가하고 싶습니다
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 - 질문을 약간 편집했습니다. 각 파일에는 4 개의 열 (이름이 다름)이 있지만 데이터 유형이 일치합니다. 그래서 열 머리글에 관계없이 파일을 강제로 바인딩하려고합니다. – Flammulation
은 한 파일에서 다음 파일까지 항상 같은 순서로 열입니까? 그렇다면 그냥'header = FALSE'로 읽어 들이고 –