Gibt es eine Möglichkeit, ein PDF einer Tabelle aus R auf die gleiche Art und Weise zu erstellen, wie Sie ein Diagramm erstellen (zB mit pdf() oder ggsave())? Ich weiß, es gibt Möglichkeiten mit anderen Programmen (mit Sweave etc.), aber ich möchte es nur von R produzieren.Erstellen einer PDF-Tabelle
32
A
Antwort
30
Ja gibt es, wie Sie Text in Grafiken und damit in PDF-Geräte platzieren können.
Der netteste Wrapper dafür ist die textplot()
Funktion in Greg Warnes vertrauenswürdigem gplots Paket. Unten ist der Beginn der Beispiele Abschnitt seiner Hilfeseite:
# show R version information
textplot(version)
# show the alphabet as a single string
textplot(paste(letters[1:26], collapse=" "))
# show the alphabet as a matrix
textplot(matrix(letters[1:26], ncol=2))
### Make a nice 4 way display with two plots and two text summaries
data(iris)
par(mfrow=c(2,2))
plot(Sepal.Length ~ Species, data=iris, border="blue", col="cyan",
main="Boxplot of Sepal Length by Species")
plotmeans(Sepal.Length ~ Species, data=iris, barwidth=2, connect=FALSE,
main="Means and 95\% Confidence Intervals\nof Sepal Length by Species")
info <- sapply(split(iris$Sepal.Length, iris$Species),
function(x) round(c(Mean=mean(x), SD=sd(x), N=gdata::nobs(x)),2))
textplot(info, valign="top" )
title("Sepal Length by Species")
reg <- lm(Sepal.Length ~ Species, data=iris)
textplot(capture.output(summary(reg)), valign="top")
title("Regression of Sepal Length by Species")
par(mfrow=c(1,1))
4
Es gibt auch die addtable2plot Funktion im plotrix Paket.
14
Siehe auch grid.table
in gridExtra
, mit Rastergrafiken.
4
Ich wollte dies vor kurzem tun, aber nicht das Ausgabeformat von grideExtra
oder textplot
gefallen, also schrieb ich diese Funktion, um es in Latex zu tun. Es ist ein bisschen wie ein Hack Job und es gibt bessere Möglichkeiten, um mit sweave
oder knitr
, aber Sie finden es möglicherweise nützlich für Ihre Zwecke zu ändern:
createPDF <- function(xx, name=deparse(substitute(xx))){
require(xtable)
tt <- print(xtable(xx), type='latex')
texfile <- paste0('./reports/', name, '.tex')
cat(
'\\documentclass[12pt]{report}
\\usepackage[landscape]{geometry}
\\date{}
\\begin{document}', tt, '\\end{document}', sep='',
file=texfile
)
## pdflatex from texlive package for linux converts .tex to .pdf
system(paste0('pdflatex ', '-output-directory ./reports ', texfile))
}
Verwandte Themen
- 1. Erstellen einer Kopie einer Ansicht?
- 2. Erstellen einer Browser-Symbolleiste?
- 3. Erstellen einer Welt-Matrix
- 4. Erstellen einer URL-Warteschlange
- 5. Erstellen einer Shell
- 6. Erstellen einer IE-Symbolleiste
- 7. Erstellen einer iPhone-Buchanwendung
- 8. Erstellen einer Proxy-Site
- 9. Erstellen einer guten Suchlösung
- 10. Erstellen einer indexerstellenden Klasse
- 11. Erstellen einer abgerundeten Ansicht
- 12. Erstellen einer dynamischen XML
- 13. Erstellen einer Django-Detailansicht
- 14. Erstellen einer Flatfile-Datenbank
- 15. Erstellen einer Django-Eigenschaft
- 16. Erstellen einer GUI (Swing)
- 17. Erstellen einer WiFi-Anwendung
- 18. Erstellen einer benutzerdefinierten Textzeichnungsansicht
- 19. Erstellen einer DOM-NodeList
- 20. Erstellen einer Trigger-Dynamik
- 21. Erstellen einer Filmdatenbank
- 22. Erstellen einer ServiceDefinition.csdef
- 23. Erstellen einer Fortschrittsmarke "achievenmenet"
- 24. Erstellen einer Matrix?
- 25. Erstellen einer Prozedur MySQL
- 26. Erstellen einer Skriptsprache
- 27. Erstellen einer generischen Eigenschaft
- 28. Variablenvariable, Erstellen einer Arrayvariable
- 29. Erstellen einer Dokumentendatenbank
- 30. dynamisches Erstellen einer Liste
Danke, das scheint zu funktionieren! – Tom