提问人:user22894192 提问时间:11/10/2023 最后编辑:Adrian Moleuser22894192 更新时间:11/21/2023 访问量:52
在按名称分组的数据帧集上运行 R 循环
Run a R loop on sets of dataframes grouped by name
问:
我在一个文件夹中有一个CSV文件列表,名称如下:
A_B_1_R1
A_B_1_R2
A_B_1_R3
A_B_2_R1
A_B_2_R2
A_B_2_R3
A_B_3_R1
A_B_3_R2
A_B_3_R3
我编写了一个脚本来遍历这些 csvs,以计算平均值(以及其他一些 df 操作)。
如何按文件名对这些 csv 进行分组(组中的所有 A_B_1,组中的所有 A_B_2),然后分别对每个组运行循环?这将为我提供A_B_1输出,为A_B_2提供另一个输出,等等。
目前,我只是一遍又一遍地重复循环,每次我更改 list.files(pattern = “xxx”)
例如:
folder <- "path/to/input/csvs"
data1 <- list.files(path = folder, pattern = "A_B_1")
file1 <- data1[grep(paste0("A_B_1"), data1)]
file1 <- paste0(folder, file1)
df1 <- read.csv(file1, header = TRUE, sep = ",", na.strings = "")
for (i in 1:length(data1)) {
etc...
}
write.csv(....)
folder <- "path/to/input/csvs"
data2 <- list.files(path = folder, pattern = "A_B_2")
file2 <- data[grep(paste0("A_B_2"), data2)]
file2 <- paste0(folder, file2)
df2 <- read.csv(file2, header = TRUE, sep = ",", na.strings = "")
for (i in 1:length(data2)) {
etc...
}
write.csv(....)
有没有办法在不多次复制和粘贴循环的情况下运行它?
答: 暂无答案
评论