我有5个标签文件,名为“1.txt”,“2.txt”,...,“5.txt”。每个文件包含一个名为“x”的列,另一个名为“y”。
我想应用一个循环来单独生成每个文件的绘图,并将绘图重定向到相应的输出pdf文件,分别称为“1.pdf”,“2.pdf”,...“5.pdf”。
这是我尝试的内容,但我认为PDF部分存在问题:
files<-list.files(pattern=".txt")
for (input in files){
output<-basename(file.path(input,fsep=".txt")) # input files are in working directory
graph<-read.table(input,header=T)
pdf('output.pdf')
plot(graph$x,graph$y)
dev.off()
}
它只生成第一个名为“output.pdf”的图。
如何在pdf函数中提及变量“output”?
感谢您的帮助!
答案 0 :(得分:3)
joran在增加教学术语时所说的是,你当前的函数会覆盖你的output.pdf
五次。我希望你能钓到自己的鱼。您必须将内容传递给pdf()
以制作五个唯一文件。这样的事情可能有所帮助,
files <- list.files(pattern=".txt")
for (input in files){
output <- basename(file.path(input,fsep=".txt"))
graph <- read.table(input,header=T)
pdf(paste0("output for ", input,".pdf"))
plot(graph$x,graph$y)
dev.off()
}