2012-03-16 60 views
1

我有一個半熔化的數據幀,看起來像這樣:繪圖和保存PDF在一個循環中

head(final_melt) 

    Group  Source variable value 
Control Whole Kidney  MZF1 0.23879 
Control Whole Kidney  MZF1 0.49381 
Control Whole Kidney  MZF1 0.40827 
Control Whole Kidney  MZF1 0.55548 
Control Whole Kidney  MZF1 0.34664 
Control Whole Kidney  MZF1 0.68102 

組有兩個層次(對照和疾病),源具有4級(全腎,腎小球, Tubulointerstitium和HK-2 + TGF-B)。變量也有四個級別(TFAP2A,MZF1,YY1,SP1)。 我想這樣做在一個循環

d = subset(final_melt, final_melt$Source=="Whole Kidney") 
qplot(data=d, Group, value, facets=.~variable, geom="boxplot") 
pdf("Whole Kideny.pdf") 
dev.off() 

以下雖然我知道我可以只說facets=Source~variable,個別地塊最終被太小而翔實。所以我需要一次繪製一個等級的來源因素。
問題是我什至不能讓pdf()函數工作。它使用正確的名稱創建一個文件,但是當我嘗試打開文件時,adobe說打開該文件時出現錯誤,並且該文件已在另一個應用程序中打開(爲什麼我添加了dev.off(),但似乎沒有做任何事情)。

任何幫助表示讚賞。
乾杯, 戴維。

回答

4
  1. 打開圖形設備(pdf()png()等)
  2. 創建print您ggplot或晶格圖形。
  3. 致電dev.off()
  4. .....?
  5. 利潤。

按該順序。

+2

這真是棒極了!我應該擔心如果我沒有看到利潤? – 2012-03-16 23:39:26

+2

@DavyKavanagh如果你沒有看到任何利潤,那可能意味着你沒有正確地做第4步。 :) – joran 2012-03-16 23:48:15

3

作爲替代joran的答案只有ggplot2顯卡:

  1. 創建和打印ggplot圖形。
  2. ggsave(filename="Whole Kidney.pdf")

ggsave將複製最後印刷的圖形。或者它可以保存一個特定的情節。

  1. 創建ggplot圖形並將其分配給p
  2. ggsave(filename="Whole Kidney.pdf", p)
+0

很酷。這將在以後非常方便。謝謝! – 2012-03-16 23:40:55