3

我有 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 函数中提及变量“输出”?

谢谢你的帮助 !

4

1 回答 1

4

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()
} 
于 2013-01-21T06:38:59.427 回答