3

「1.txt」、「2.txt」、...、「5.txt」という5つのタブファイルがあります。各ファイルには、「x」と呼ばれる1つの列と、「y」と呼ばれる別の列が含まれています。

ループを適用して、各ファイルから個別にプロットを生成し、プロットをそれぞれ「1.pdf」、「2.pdf」、...「5.pdf」と呼ばれる対応する出力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」に言及するにはどうすればよいですか?

ご協力いただきありがとうございます !

4

1 に答える 1

4

joranが教育用語を増やして言っているのは、現在の関数がoutput.pdf5回上書きするということです。自分の魚を釣れるようにしてほしい。5つの一意のファイルを作成するには、に何かを渡す必要があります。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 に答える