Comment ajouter plusieurs chiffres sur plusieurs pages dans un morceau à l'aide de knitr et RMarkdown?
Je suis en utilisant une boucle for pour créer plusieurs gros chiffres sur plusieurs pages en un seul morceau avec knitr et rmarkdown. Il fonctionne très bien pour word et html sorties, mais il a un problème dans le fichier pdf de sortie.
C'est un minimum RMarkdown exemple pour reproduire mon problème.
---
title: "Knitr test"
date: "6 April 2015"
output: pdf_document
---
```{r, echo=FALSE, fig.width=6.5,fig.height=10}
library(ggplot2)
for (i in seq(1, 4)){
p <- ggplot(cars, aes(speed, dist)) + geom_point()
print(p)
}
```
Le fichier pdf généré ressemble à ceci. Deux chiffres sont imprimés dans la page.
Si je change la fig.hauteur, ajouter quelques section dans le fichier mdm, deux chiffres sont encore imprimés dans la même page avec un arrangement différent.
---
title: "Knitr test"
output: pdf_document
date: "6 April 2015"
---
## Section A
Row B
```{r plot_phenotype, echo = FALSE, fig.height=8, fig.width=6.5}
library(ggplot2)
for (i in seq(1, 4))
{
p <- ggplot(cars, aes(speed, dist)) + geom_point()
print(p)
}
```
Merci pour toute suggestion pour résoudre ce problème.
Je suis à l'aide de RStudio 0.99.375. C'est ma séance d'information.
sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rmarkdown_0.5.3.1 knitr_1.9.5
loaded via a namespace (and not attached):
[1] colorspace_1.2-5 digest_0.6.8 evaluate_0.5.5 formatR_1.0
[5] ggplot2_1.0.0 grid_3.1.3 gtable_0.1.2 htmltools_0.2.6
[9] MASS_7.3-34 munsell_0.4.2 plyr_1.8.1 proto_0.3-10
[13] Rcpp_0.11.5 reshape2_1.4.1 scales_0.2.4 stringr_0.6.2
[17] tcltk_3.1.3 tools_3.1.3 yaml_2.1.13
OriginalL'auteur Bangyou | 2015-04-08
Vous devez vous connecter pour publier un commentaire.
J'ai résolu mon problème.
Dans le générés fichier tex, il n'y a pas de nouvelles lignes après chaque figure. Ce tex de code nous générées à l'aide de mdm fichier ci-dessus:
La solution est d'ajouter une nouvelle ligne après chaque cycle d'impression d'une figure.
Ne sais pas pourquoi j'ai besoin de deux "\r\n" ici. L'généré tex fichier ressemble à ceci:
C'est l'exemple complet de mon Mdm fichier
print(p)
avecgrid.draw(p)
et il faudra encore travailler. Si vous ne le faites pas, il sera également rendre le TableGrob de sortie.OriginalL'auteur Bangyou
Edit 1 (LaTeX): je n'arrive pas à obtenir que cela fonctionne avec RMarkdown, car il a des problèmes avec les nouvelles pages. Mais l'utilisation de pur LaTeX semble résoudre le problème avec les multiples intrigues dans une seule page et le texte au début. Pas sûr cependant si c'est ce que vous voulez. Dans RStudio ouvrir un nouveau R Sweave (.Rnw) fichier et essayez:
Ce produit est le suivant:
Edit 2 (RMarkdown) (en fonction de votre réponse): l'exécution du code à partir de votre réponse je reçois la première page avec le texte, puis d'une page unique pour chaque parcelle. Si c'est ce que vous voulez, vous pouvez obtenir le même résultat en utilisant simplement (c'est à dire la suppression
grid.newpage
,\r
s etkeep_tex
):Qui produit le texte suivant:
Si vous modifiez la fig.hauteur de 7, vous obtiendrez le même résultat qu'avec LaTeX ci-dessus.
Ouais, désolé, j'ai été jouer avec
cat
et la hauteur en même temps, donc je ne savais pas que la hauteur était le principal problème. Je ne pense pas qu'il y est un moyen facile d'obtenir un parfait pdf (à l'aide de RMarkdown) et un système automatisé pour la boucle, combiné avec le texte comme ça. Il semble toujours à combiner deux parcelles dans la même page.. Ma réponse n'est pas vraiment travailler avec les sections incluses etc.J'ai changé ma réponse à l'aide de LaTeX au lieu qui fonctionne bien. L'ensemble de la RMarkdown de Markdown pour pdf est probablement la cause de ces problèmes avec la figure de l'arrangement.
Merci pour votre suggestion. LaTex est de travailler pour moi. Mais je préfère utiliser directement RMarkdown. Acceptera votre réponse plus tard pour voir si il y a une autre réponse à l'utilisation RMarkdown.
OriginalL'auteur Peter Diakumis