2012-03-16 5 views
1

J'ai une trame de données semi-fondue qui ressemble à ceci:Traçage et enregistrer des fichiers PDF dans une boucle

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 

Groupe dispose de deux niveaux (contrôle et la maladie), la source a 4 niveaux (entier rein, glomérule, Tubulointerstitium et HK-2 + TGF-B). variable a également quatre niveaux (TFAP2A, MZF1, YY1, SP1). Je voudrais faire quelque chose comme ce qui suit dans une boucle

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

Même si je sais que je pouvais dire facets=Source~variable, les parcelles individuelles finissent par être trop petit pour être informatif. J'ai donc besoin de tracer un niveau du facteur Source à la fois.
Le problème est que je n'arrive même pas à faire fonctionner la fonction pdf(). Il crée un fichier, avec le nom correct, mais quand j'essaie de l'ouvrir, adobe dit qu'il y a eu une erreur d'ouverture du fichier, et qu'il est déjà ouvert dans une autre application (pourquoi j'ai ajouté le dev.off(), mais cela n'a pas semblé faire n'importe quoi).

Toute aide est appréciée.
Cheers, Davy.

Répondre

4
  1. Ouvrir un dispositif graphique (pdf(), png() etc.)
  2. Créer etprint votre ggplot ou graphique treillis.
  3. Appelez dev.off().
  4. .....?
  5. Profit.

Dans cet ordre.

+2

Cela a très bien fonctionné! Devrais-je m'inquiéter Si je ne vois pas de profit? –

+2

@DavyKavanagh Si vous ne voyez aucun profit, cela signifie probablement que vous ne faites pas l'étape 4 correctement. :) – joran

3

Comme alternative à la réponse de Joran pour ggplot2 graphiques seulement:

  1. Créez et imprimez votre graphique ggplot.
  2. ggsave(filename="Whole Kidney.pdf")

Le ggsave copie le dernier graphique imprimé. Ou il peut sauver un complot particulier.

  1. Créez votre ggplot graphique et l'affecter à p
  2. ggsave(filename="Whole Kidney.pdf", p)
+0

Cool. cela viendra très utile plus tard. Je vous remercie! –

Questions connexes