在 R 中批处理一次读取多个文件
batching in R reading in multiple files at a time
我有 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 个文件(一对)都需要作为两个不同的数据集读入,然后我的算法可以 运行。有没有办法以批处理格式执行此操作。我的文件被命名为它们总是彼此相邻,(也就是当文件在我的 WD 中被识别时,它们应该是 DataSet1a、DataSet1b、DataSet2a、DataSet2b 等)因为我有 100 对文件我可以做它们一次手动一对,但我觉得必须有更好的方法。谢谢
您可以尝试类似的方法:
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)
...
}
我有 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 个文件(一对)都需要作为两个不同的数据集读入,然后我的算法可以 运行。有没有办法以批处理格式执行此操作。我的文件被命名为它们总是彼此相邻,(也就是当文件在我的 WD 中被识别时,它们应该是 DataSet1a、DataSet1b、DataSet2a、DataSet2b 等)因为我有 100 对文件我可以做它们一次手动一对,但我觉得必须有更好的方法。谢谢
您可以尝试类似的方法:
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)
...
}