2012-03-16 58 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