[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