我想合并存储在工作目录及其子文件夹中的cvs文件。 这段代码运行顺利:
csv_files <- dir(pattern='.*[.]csv', recursive = T)
list.files()
my_data_frame <- do.call(rbind,lapply(csv_files,read.csv))`
到目前为止一切顺利。 我现在想添加一个包含这些csv文件名称的coloumn。 此外,我想只提取这些cvs文件的片段,让我们说从第5行到第10行。
感谢您的宝贵帮助!
答案 0 :(得分:1)
您可以使用您自己的执行子集的函数替换read.csv
调用中的lapply
并添加新列。例如,
csv_files <- dir(pattern='.*[.]csv', recursive = T)
list.files()
#function to make df from each csv
my_read_csv <- function(x) {
dfx <- read.csv(x)[5:10,] #or any other subset
dfx$fname <- basename(x) #add new column
return(dfx)
}
my_data_frame <- do.call(rbind,lapply(csv_files,my_read_csv))