R 如何循环浏览文件夹并对这些文件夹中的文件应用函数
我有多个名称相似但不同的文件夹,每个文件夹包含名称相似但不同的csv文件 例如,我有三个名为“output”的文件夹,每个文件夹包含“image.csv”和“cells.csv” 如何循环遍历每个“输出”文件夹,然后读取文件夹中的每个csv文件并将函数应用于这些文件? 以下是我尝试过的: 首先,我列出了名为“output”的文件夹:R 如何循环浏览文件夹并对这些文件夹中的文件应用函数,r,function,loops,R,Function,Loops,我有多个名称相似但不同的文件夹,每个文件夹包含名称相似但不同的csv文件 例如,我有三个名为“output”的文件夹,每个文件夹包含“image.csv”和“cells.csv” 如何循环遍历每个“输出”文件夹,然后读取文件夹中的每个csv文件并将函数应用于这些文件? 以下是我尝试过的: 首先,我列出了名为“output”的文件夹: dirs在函数中动态设置读取csv的路径 object_extraction<-function(x){ image<-read.csv(past
dirs在函数中动态设置读取csv的路径
object_extraction<-function(x){
image<-read.csv(paste0(x, '/image.csv'), header=T, sep=",")
#header = T and sep = ',' is default in read.csv so this should
#work without specifying them as well.
cells<-read.csv(paste0(x, '/cells.csv'))
object<-dplyr::inner_join(cells,image,by="ImageNumber")
return(object)
}
object\u extraction在函数中动态设置读取csv的路径
object_extraction<-function(x){
image<-read.csv(paste0(x, '/image.csv'), header=T, sep=",")
#header = T and sep = ',' is default in read.csv so this should
#work without specifying them as well.
cells<-read.csv(paste0(x, '/cells.csv'))
object<-dplyr::inner_join(cells,image,by="ImageNumber")
return(object)
}
object\u extraction我可以在您的代码中发现两个错误:
您需要在dirs
变量中使用目录名,例如:
object_extraction<-function(x){
image<-read.csv(file.path(x, "image.csv"), header=T, sep=",")
cells<-read.csv(file.path(x, "cells.csv"), header=T, sep=",")
object<-dplyr::inner_join(cells,image,by="ImageNumber")
return(object)
}
object\u extraction我可以在您的代码中发现两个错误:
您需要在dirs
变量中使用目录名,例如:
object_extraction<-function(x){
image<-read.csv(file.path(x, "image.csv"), header=T, sep=",")
cells<-read.csv(file.path(x, "cells.csv"), header=T, sep=",")
object<-dplyr::inner_join(cells,image,by="ImageNumber")
return(object)
}
object\u extraction您收到的错误消息是什么?文件中有错误(文件,“rt”):无法打开连接您收到的错误消息是什么?文件中有错误(文件,“rt”):无法打开连接
dirs <- list.dirs(recursive=FALSE)
dirs <- grep('output', dirs, value = TRUE)
result <- lapply(dirs, object_extraction)
object_extraction<-function(x){
image<-read.csv(file.path(x, "image.csv"), header=T, sep=",")
cells<-read.csv(file.path(x, "cells.csv"), header=T, sep=",")
object<-dplyr::inner_join(cells,image,by="ImageNumber")
return(object)
}