[R-es] ¿Cómo generar tabla apaisada salida PDF con RMarkdown?
doblett
doblett en gmail.com
Vie Sep 23 08:56:21 CEST 2016
Hola Juan,
aunque un poco tarde te comento. Yo suelo trabajar con tablas grandes
sacando el codigo a latex (xtable) para obtener un pdf. La solución a
tablas grandes la obtengo a través de un
*print + scalebox:*
*tmp <- xtable(mi.tabla)print(tmp, scalebox = 0.8, floating = FALSE)*
La opción *floating* la uso para que se quede tal cual donde la dejo.
Saludos!!!
El 9 de septiembre de 2016, 12:09, Juan Abasolo <vcpabisj en gmail.com>
escribió:
> Muchas gracias, José Antonio y Carlos.
>
> Estaba por escribir sandeces varias. Comento, por si hay algún lector,
> que como yo, se guarda los correos con respuestas a problemas posibles.
>
> No estaba usando|header.tex|, que es necesario para una como para otra
> solución.
>
> El encabezado queda así:
> |---||
> ||title: "Tablas que no entran"||
> ||author: "Sandia Urlia"||
> ||date: ""||
> ||output: ||
> || pdf_document:||
> || includes:||
> || in_header: header.tex ||
> ||---
> |
> La solución que comentó Carlos (la de:
> http://stackoverflow.com/questions/25849814/rstudio-
> rmarkdown-both-portrait-and-landscape-layout-in-a-single-pdf)
> tiene la ventaja de que permite girar tablas generadas con |kable()| sin
> más que poner tres lineas de código tex. Importante dejar un espacio
> después de terminar el chunk y antes de |\elandscape|.
>
> |
> ||\newpage||
> ||\blandscape||
> ||```{r }||
> ||la.tabla.ancha <- cars[c(1:10),rep(1,14)]||
> ||knitr::kable(la.tabla.ancha, caption = "La tablaza")||
> ||```||
> ||
> ||\elandscape|
>
> También sirve para girar código o lo que haga falta. En el caso de
> arriba aparecen girados el código y la tabla.
> En contra (o a favor) el entorno no es flotante, por lo que en el punto
> en el que se coloque irá la página nueva
>
>
> La solución que comentó josé Antonio requiere que en el documento
> header.tex se incluya la linea:
> |
> ||\usepackage{rotating}
>
> |
> Que, por otro lado, es lo que le faltaba al documento que había
> presentado antes para poder funcionar.
> https://cran.r-project.org/web/packages/xtable/vignettes/xtableGallery.pdf
> (pag. 25)
>
> Así quedó el chunk
>
> |```{r results='asis'}||
> library(xtable)
> ||x <- xtable(||
> || la.tabla.ancha, caption = "La tablota (2)"||
> || )||
> ||options(xtable.comment = FALSE)||
> ||print(x, floating = TRUE,||
> || floating.environment = "sidewaystable"||
> || )||
> ||```|
>
> Pero atento! Que esta otra forma no funciona:
> |
> ||```{r results='asis'}||
> ||options(xtable.comment = FALSE)||
> ||print(||
> || xtable::xtable(||
> || la.tabla.ancha, caption = "La tablota (1)",||
> || floating = TRUE,||
> || floating.environment = "sidewaystable"||
> || ))||
> ||```|
> Para que funcione, tiene que estar generado el elemento |xtable| antes
> de |print()| y luego asignarlo.
>
> A favor (o en contra): el entorno que genera es flotante, por lo que se
> insertará según las reglas de composición de LaTeX y no ahí mismo donde
> uno está escribiendo.
>
> Un posible header.tex para ver las dos soluciones:
>
> | ||%para que rote con xtable
> ||\usepackage{rotating}||
>
> %para girar a piacere
> ||\usepackage{lscape}||
> ||\newcommand{\blandscape}{\begin{landscape}}||
> ||\newcommand{\elandscape}{\end{landscape}}|
>
>
>
> og., 2016.eko iraren 08a 18:36(e)an, Carlos Ortega igorleak idatzi zuen:
> > Hola,
> >
> > Creo que esta referencia de StackOverflow te puede ayudar:
> >
> > http://stackoverflow.com/questions/25849814/rstudio-
> rmarkdown-both-portrait-and-landscape-layout-in-a-single-pdf
> >
> > Saludos,
> > Carlos Ortega
> > www.qualityexcellence.es <http://www.qualityexcellence.es>
> >
> > El 8 de septiembre de 2016, 17:28, Juan Abasolo <vcpabisj en gmail.com
> > <mailto:vcpabisj en gmail.com>> escribió:
> >
> > Buenas a todos.
> >
> > No me queda del todo claro si éste es el foro en el que preguntar
> > o debería ser otro, ya que incluye cosas que van más allá de R.
> > Sepan disculpar si me estoy excediendo.
> >
> > Estoy trabajando con RStudio y quiero generar un documento de
> > salida en PDF; en ese documento tengo bastantes tablas anchas que
> > no entran usando
> >
> > knitr::kable(la.tabla.ancha)
> >
> > Sí salen perfectamente en HTML (no son tan anchas). Me resulta
> > evidente que si las pudiera poner a página entera en formato
> > apaisado, no tendría problema y es lo que querría hacer.
> >
> > Intenté conseguirlo usando 'xtable' con un código que encontré por
> > ahí. Pongo seguido un ejemplo para poner en un documento Rmd
> >
> > ---
> > title: "Tablas que no entran"
> > author: "Sandia Urlia"
> > date: ""
> > output: pdf_document
> > ---
> >
> > ```{r setup, include=FALSE}
> > knitr::opts_chunk$set(echo = TRUE)
> > ```
> >
> >
> > ```{r}
> > la.tabla.ancha <- cars[c(1:10),rep(1,14)]
> > knitr::kable(la.tabla.ancha, caption = "La tablaza")
> > ```
> >
> >
> > ```{r results='asis'}
> > options(xtable.comment = FALSE)
> > print(
> > xtable::xtable(
> > la.tabla.ancha, caption = "La-tablota",
> > floating = TRUE,
> > floating.environment = "sidewaystable",
> > type = "html"
> > ))
> >
> > ```
> > Y así se ve que las tablas no entran :__(
> >
> > Muchas gracias
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es en r-project.org <mailto:R-help-es en r-project.org>
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> > <https://stat.ethz.ch/mailman/listinfo/r-help-es>
> >
> >
> >
> >
> > --
> > Saludos,
> > Carlos Ortega
> > www.qualityexcellence.es <http://www.qualityexcellence.es>
>
> --
> Juan Abasolo Didaktika eta Eskola Antolakuntza saila Bilboko Irakasleen
> Unibertsitate Eskola 94 601 4624 Beste kontaktu batzuk Telegram:
> @JuanAbasolo Skype: abasolo72
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es