我有100个文件要运行R来进行分析。我的一些代码使用单个文件,我发现我可以使用以下代码批量处理它们
setwd("~/directory of interest")
files <- list.files(pattern = "*.csv$")
files
for(i in 1:length(files)){
DataSet1 <- read.csv(file = files[i], header = TRUE, stringsAsFactors = TRUE)
do my algorithum
setwd("~/location of saving directory")
write.csv(DataSet1, file = files[i], quote = FALSE, row.names = FALSE)
setwd("~/directory of interest")}
我有另一个分析,其中我有2个文件(1对),这两个文件都需要作为我的alogorithum然后可以运行的两个不同的数据集读入。有没有办法以批处理格式执行此操作。我的文件被命名为它们总是彼此相邻,(也就是当我在WD中识别文件时,它们应该是DataSet1a,DataSet1b,DataSet2a,DataSet2b等)因为我有100对文件我可以手动一次做一对,但我觉得必须有一个更好的方法。感谢
答案 0 :(得分:1)
你可以尝试这样的事情:
setwd("~/directory of interest")
filesA <- list.files(pattern = "*a.csv$")
filesB <- list.files(pattern = "*b.csv$")
for(i in 1:length(filesA)){
DataSet1A <- read.csv(file = filesA[i], header = TRUE, stringsAsFactors = TRUE)
DataSet1B <- read.csv(file = filesB[i], header = TRUE, stringsAsFactors = TRUE)
...
}