[R-es] ¿Cómo generar tabla apaisada salida PDF con RMarkdown?

Juan Abasolo vcpabisj en gmail.com
Mar Sep 27 09:14:21 CEST 2016


Muchas gracias, de momento lo dejo en Stand By y lo doy por resuelto. 
Pero me queda para el siguiente lío.


or., 2016.eko iraren 23a 08:56(e)an, doblett igorleak idatzi zuen:
> 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 
> <mailto: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
>     <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
>     <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
>     <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>
>     <http://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>
>     > <mailto: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>
>     <mailto: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>
>     >     <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>
>     <http://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 <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>
>
>

-- 
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]]



Más información sobre la lista de distribución R-help-es