在循环中绘制和保存PDF

时间:2012-03-16 23:14:13

标签: r pdf-generation ggplot2

我有一个半融合的数据框,如下所示:

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,但个别情节最终太小而无法提供信息。所以我需要一次绘制一个级别的Source因子 问题是我甚至无法使pdf()功能起作用。它创建了一个具有正确名称的文件,但是当我尝试打开它时,adobe说打开文件时出错,并且已经在另一个应用程序中打开了(为什么我添加了dev.off(),但是没有好像什么都没做。

感谢任何帮助。
干杯, 戴维。

2 个答案:

答案 0 :(得分:4)

  1. 打开图形设备(pdf()png()等。)
  2. 创建 print ggplot或格子图形。
  3. 致电dev.off()
  4. .....?
  5. 利润。
  6. 按顺序。

答案 1 :(得分:3)

仅作为joran对ggplot2图形的答案的替代方案:

  1. 创建并打印您的ggplot图形。
  2. ggsave(filename="Whole Kidney.pdf")
  3. ggsave将复制最后打印的图形。或者它可以保存特定的情节。

    1. 创建ggplot图形并将其分配给p
    2. ggsave(filename="Whole Kidney.pdf", p)