1 つのデータ フレームにマージしたい、何百もの .csv ファイルを含むフォルダーがあります。
私はこのコードを使用していますが、これは比較的うまく機能しますが、ヘッダーが一致するファイルに対してのみです。
df <- do.call(rbind, lapply(filenames , read.csv))
2 部構成の質問。
1.) この do.call コードを追加して、データの各行の .csv ファイル名を含む列を追加したいと考えています。
2.) ヘッダーが一致しない .csv ファイルもマージできるようにしたいと考えています。各ファイルには 4 つの列 (名前は異なります) がありますが、データ型は一致しています。したがって、列ヘッダーに関係なく、ファイルを強制的にバインドしたいと考えています。
この投稿は役に立ちましたが、一致しないヘッダーを持つファイルのマージには役立ちませんでした:
このコードも使用しました。ヘッダーが一致するファイルの場合のみ:
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)
}
}