¿Hay alguna forma de generar un PDF de una tabla desde R de la misma manera que se produce una gráfica (es decir, con pdf() o ggsave())? Me doy cuenta de que hay maneras con otros programas (usando sweave etc.), pero me gustaría producirlo solo desde R.Crear una tabla en PDF
32
A
Respuesta
30
Sí, hay como se puede colocar texto en gráficos y por lo tanto en dispositivos PDF.
El envoltorio más bonito para esto puede ser la función textplot()
en el paquete de confianza gplots de Greg Warnes. A continuación se muestra el comienzo de la sección de ejemplos de su página de ayuda:
# 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
También existe la función addtable2plot en el paquete plotrix.
14
ver también grid.table
en gridExtra
, usando gráficos de cuadrícula.
4
Hace poco quise hacer esto pero no me gustó el formato de salida de grideExtra
o textplot
, así que escribí esta función para hacerlo en látex. Es un poco de un trabajo de corte y hay mejores maneras con sweave
o knitr
, pero puede que le resulte útil modificar para sus propósitos:
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))
}
Cuestiones relacionadas
- 1. Generar tabla en PDF
- 2. PHP crear factura en PDF
- 3. Crear una secuencia en una tabla existente
- 4. Crear una tabla (estructura) de la tabla
- 5. Crear PDF con Java
- 6. Cómo crear una tabla hash
- 7. Crear una tabla sin columnas
- 8. Cómo crear una tabla dinámica en VBA
- 9. Crear una tabla temporal en PL/SQL
- 10. Crear una tabla de contenido a partir de un archivo pdf
- 11. Crear anotaciones en PDF en iOS
- 12. Crear una tabla dinámica desde una DataTable
- 13. PDF para crear una imagen en el Nodo JS
- 14. ¿Cómo crear archivos pdf en drupal?
- 15. Crear PDF desde CSV en iPhone
- 16. Crear LaTeX PDF en Jenkins/Hudson
- 17. Crear consulta MySQL para crear una tabla a partir de una tabla existente
- 18. Necesito crear PDF desde bytearray (Java)
- 19. Crear anotaciones en PDF con Quartz (iOS)
- 20. Cómo crear archivos pdf en android
- 21. crear archivo PDF desde android
- 22. Insertar en crear nueva tabla
- 23. Crear tabla en servidor vinculado?
- 24. ¿Cómo crear una tabla en una base de datos particular?
- 25. Crear pdf con wkhtmltopdf y renderizar Javascript
- 26. Crear una tabla parecida a Tkinter
- 27. ¿Cómo crear una tabla histórica de hechos?
- 28. Crear una tabla hash con dos matrices
- 29. Crear una tabla con jQuery - añada
- 30. Crear una tabla db Prácticas recomendadas NULL
Gracias, esto parece estar funcionando! – Tom