首页 > 解决方案 > 有没有一种方法可以通过不同的子文件夹循环相同的功能?

问题描述

我有一些代码将文件夹中的一些数据文件组合到一个 ggplot 图中并将其保存在不同的文件夹中:

setwd("~/data/observation1")

files <- list.files(pattern=".txt")
for (i in files){
  mylist <- lapply(setNames(files, files), read.table, header = T)
  mylist <- lapply(names(mylist), function(i) {cbind(mylist[[i]], ID = i)})
  mydata <- do.call(rbind, mylist)
}

setwd("~/data/graphs")
pdf()
ggplot(mydata, aes(x = place, y = firing_rate, colour = ID)) + geom_point() + geom_path()
dev.off()

我想将此应用于数据文件夹中的所有其他文件夹(observation2、observation3、...observation200),而不必每次都手动更改 setwd。反正有没有做得更快?也许是另一个 for 循环或 lapply 的一些应用?

标签: rloopsggplot2

解决方案


推荐阅读