【发布时间】:2019-09-14 01:10:18
【问题描述】:
我有几百个文件夹(观察),每个文件夹都有几个文本文件(每个都是试用版)。在一些帮助下,我能够弄清楚如何遍历文本文件并创建图形的一个图像,以便将其保存在文件夹/目录中......
setwd("~/data/observation1")
library(ggplot2)
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)
}
ggplot(mydata, aes(x = place, y = firing_rate, colour = ID)) + geom_point() + geom_path()
dev.print(pdf, 'observation1.pdf')
它工作得很好,但现在我正在尝试缩小,可以这么说,所以我可以将上述代码应用于所有其他文件夹/目录(observation2、observation3 等),而无需通过并更改setwd() 一个一个。
此外,如果我能以某种方式将所有绘图(每个文件夹一个)保存为一个几百页的大 pdf,那也很棒。
非常感谢任何关于如何做这两件事甚至开始它们的建议,我很乐意回答任何问题。
【问题讨论】:
-
您为什么不想使用 setwd() 来更改文件夹?您可以一次性完成。
-
您可以考虑使用
purrr包来简化此操作。 serialmentor.com/blog/2016/6/13/… -
可以使用
list.files中的参数full.names = TRUE获取文件的完整路径