【发布时间】:2017-10-01 07:12:16
【问题描述】:
在尝试了几个小时的不同代码后,我正在寻求帮助。我有一个文件夹,有五个子文件夹。每个子文件夹包含三个 csv 文件。我想在每个子文件夹中 cbind 这三个 csv 文件并将结果输出到同一个子文件夹中,对每个子文件夹执行相同的操作。因此,除了原来的 15 个 csv 文件之外,我将在这五个子文件夹中包含五个组合文件。我感谢您的帮助。我将以下代码行放在一起,但没有成功
#Folder containing sub-folders
parent.folder <- "path"
# Sub-folders
sub.folders <- list.dirs(parent.folder, recursive=TRUE)[-1]
# List files in all subfolders
files <- sapply(sub.folders, list.files, all.files = F, full.names = T, recursive=TRUE)
# Make a list of lists
mydata <- lapply(files, function(x) read.csv(x, header = T)[,14:17]) #list of lists, each has 4 variables
for (r in 1:length(mydata)){
fileatt <- paste("path","new_file",r,".csv",sep="")
write.table(mydata[r],fileatt, row.name=F, col.name=c("a","b","c","d"), quote=F,sep=",")
}
【问题讨论】:
标签: r file loops subdirectory