簡體   English   中英

將多個.csv文件導入R並添加文件名的新列

[英]Importing multiple .csv files into R and adding a new column with file name

我有80個獨立的.csv文件,這些文件具有相同的列和標題,可以使用以下命令將其導入和rbind作為一個數據幀:

 file_names <- dir("~/Desktop/data") 
 df <- do.call(rbind,lapply(file_names,read.csv))

但是我想添加一個新變量(“名稱”),該變量標識每個觀察結果來自哪個.csv文件。 因此,例如,對於來自“ NY.csv”文件的所有觀察結果,此變量“名稱”將為“ NY”,對於來自“ DC.csv”文件的所有觀察結果為變量“ DC”,等等。這樣做而無需在每個.csv上手動添加此新列? 謝謝!

應該這樣做:

file_names <- dir("~/Desktop/data") 
df <- do.call(rbind, lapply(file_names, function(x) cbind(read.csv(x), name=strsplit(x,'\\.')[[1]][1])))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM