2012-04-20 5 views
2

を製造する際に、ファイルにラベルを追加する私は複数のプロットを生成し、次のコードを持って、それぞれ別々のPDFファイル内どのように複数のプロットコード

myplot <-function(ind,dfList) { 
dat <- dfList[[ind]] 
    detects <- as.numeric(dat$Result2[dat$cens== 0]) 
    pdf(file=paste("Desktop/qqplot_",ind,".pdf",sep = "")) 
    qqnorm(log(detects), ylab="Ln of uncensored data in ppm", main="Q-Q plot", pch=16) 
    qqline(log(detects)) 
      dev.off() 
      } 

Plots <- lapply(1:3, myplot , dfList = mydata) 

質問1:このコードは3 pdfファイルを生成します。ファイルのラベルは1、2、3です。各ファイルにラベルを付けるコードをプロットX、プロットY、プロットZに挿入するにはどうすればよいですか?

質問2:myplot関数では、プロットのタイトルはQQプロットタイトルをファイルの名前に対応させて変更したいと思います。したがって、各プロットのタイトルはプロットX、プロットY、プロットZでなければなりません。

+2

データを入力していないため、コードは再現できません。 (実行されない)コードに基づいて、ファイル名は 'qqplot_1'、' qqplot_2'などのように見えます。 'pdf(...')で始まるコード行を調整する必要があります。 'main ="あなたがここで言及したいと思っているものは何でも "上記のように' paste() 'を使う必要があります。変数/列の値... – Chase

答えて

4

ダミーデータがないためにテストされませんが、動作するはずです。

myplot <- function(ind,dfList) { 
    # Add a vector of labels 
    # then use index at will to build plot and title strings etc 
    labels <- c("X", "Y", "Z") 
    myfilename <- paste("Desktop/qqplot_",labels[ind],".pdf",sep = "") 
    mytitle <- paste("Plot ",labels[ind],sep = "") 

    dat <- dfList[[ind]] 
    detects <- as.numeric(dat$Result2[dat$cens== 0]) 
    pdf(file=myfilename) 
     qqnorm(log(detects), ylab="Ln of uncensored data in ppm", main=mytitle, pch=16) 
     qqline(log(detects)) 
    dev.off() 
} 

Plots <- lapply(1:3, myplot , dfList = mydata) 
+0

それはうまくいくように見えますが、テストされていないと、 'title = bquote(Plot〜。(c(" X "、" Y "、" Z ")[ind])) ' –

+0

@ gauden。はい、動作します。ありがとうございます。 – Amateur

関連する問題