Insertar imagen / tabla en R Markdown


Así que quiero insertar una tabla Y una imagen en R Markdown. En el documento regular de Word, puedo insertar fácilmente una tabla (5 filas por 2 columnas), y para la imagen solo copiar y pegar.

  1. ¿Cómo puedo insertar una tabla de 5 filas por 2 columnas(y también escribir cosas en ellas) (y también ajustar la tabla en términos de que la 2a columna sea más ancha que la primera)?

  2. ¿Cómo puedo insertar una imagen? Desde mi punto de vista, primero debo guardar la imagen como png, luego referenciarla en mi documento. Además, quiero ajustar automáticamente la imagen al informe, como no ocupar más de una página o menos de una página.(¿ Hay alguna manera para mí de ajustar el tamaño de la imagen a mi gusto)?

  3. Si alguien sabe algo fresco / formateo acerca de R Markdown también podría hacerme saber? Sé que # hace un gran título para un párrafo, y ** ** negritas cosas. ¡Eso es todo lo que sé!

Author: Michael Harper, 2014-08-06

4 answers

Varios sitios proporcionan hojas de trucos razonables o HOWTOs para tablas e imágenes. Los primeros en mi lista son:

Las imágenes son muy fáciles de usar, pero no ofrecen la posibilidad de ajustar la imagen para que se ajuste a la página. Para ajustar las propiedades de la imagen (tamaño, resolución, colores, borde, etc.), necesitará algún tipo de editor de imágenes. Encuentro que puedo hacer todo lo que necesito con uno de ImageMagick, GIMP , o InkScape, todo libre y de código abierto.

Para añadir una imagen, utilice:

![Caption for the picture.](/path/to/image.png)

Sé que pandoc admite PNG y JPG, que deberían satisfacer la mayoría de sus necesidades.

Usted tiene control sobre el tamaño de la imagen si la está creando en R (por ejemplo, una gráfica). Esto se puede hacer directamente en el comando para crear la imagen o, aún mejor, a través de opciones si está utilizando knitr (muy recomendable ... echa un vistazo a chunk options, específicamente en Plots).

Recomiendo encarecidamente leer estos tutoriales; markdown es muy útil y tiene muchas características que la mayoría de las personas no usan de forma regular, pero realmente les gusta una vez que lo aprenden. (Así que no es necesariamente el mejor lugar para hacer preguntas que se responden muy directamente en estos tutoriales.)

 104
Author: r2evans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-06 18:14:06

Actualizar: desde la respuesta de @r2evans, es mucho más fácil insertar imágenes en R Markdown y controlar el tamaño de la imagen.

Imágenes

El libro bookdown hace un gran trabajo al explicar que la mejor manera de incluir imágenes es usando include_graphics(). Por ejemplo, una imagen de ancho completo se puede imprimir con una leyenda a continuación:

```{r pressure, echo=FALSE, fig.cap="A caption", out.width = '100%'}
knitr::include_graphics("temp.png")
```

La razón por la que este método es mejor que el enfoque pandoc ![your image](path/to/image):

  • It cambia automáticamente el comando basado en el formato de salida (HTML/PDF/Word)
  • La misma sintaxis se puede usar para el tamaño de la gráfica (fig.width), el ancho de salida en el informe (out.width), agregar subtítulos (fig.cap), etc.
  • Utiliza los mejores dispositivos gráficos para la salida. Esto significa que las imágenes PDF siguen siendo de alta resolución.

Cuadros

knitr::kable() es la mejor manera de incluir tablas en un informe de reducción de R como se explica completamente aquí. Una vez más, esta función es inteligente en la selección automática del formato correcto para la salida seleccionada.

```{r table}
knitr::kable(mtcars[1:5,, 1:5], caption = "A table caption")
```

Si desea hacer sus propias tablas simples en R Markdown y está utilizando R Studio, puede consultar el insert_table paquete . Proporciona una interfaz gráfica ordenada para hacer tablas.

Lograr un estilo personalizado del ancho de columna de la tabla está más allá del alcance de knitr, pero el paquete kableExtra se ha escrito para ayudar a lograr esto: https://cran.r-project.org/web/packages/kableExtra/index.html

Consejos de estilo

La hoja de trucos R Markdown sigue siendo el mejor lugar para aprender sobre la mayoría de la sintaxis básica que puede usar.

Si está buscando posibles extensiones para el formato, también vale la pena explorar el paquete bookdown. Proporciona la capacidad de hacer referencias cruzadas, crear encabezados especiales y más: https://bookdown.org/yihui/bookdown/markdown-extensions-by-bookdown.html

 16
Author: Michael Harper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-21 19:55:14

En marzo hice una presentación de mazo en slidify, Rmarkdown con impress.js que es un marco 3D genial. mi encabezado index.Rmdse parece a

---
title       : French TER (regional train) monthly regularity
subtitle    : since January 2013
author      : brigasnuncamais
job         : Business Intelligence / Data Scientist consultant
framework   : impressjs     # {io2012, html5slides, shower, dzslides, ...}
highlighter : highlight.js  # {highlight.js, prettify, highlight}
hitheme     : tomorrow      # 
widgets     : []            # {mathjax, quiz, bootstrap}
mode        : selfcontained # {standalone, draft}
knit        : slidify::knit2slides

Los subdirs son:

/assets /css    /impress-demo.css
        /fig    /unnamed-chunk-1-1.png (generated by included R code)
        /img    /SS850452.png (my image used as background)
        /js     /impress.js
        /layouts/custbg.html # content:--- layout: slide --- {{{ slide.html }}}
        /libraries  /frameworks /impressjs
                                /io2012
                    /highlighters   /highlight.js
                                    /impress.js
index.Rmd

Una diapositiva con imagen en el fragmento de código de fondo estaría en mi.Rmd:

<div id="bg">
  <img src="assets/img/SS850452.png" alt="">
</div>  

Algunos problemas aparecieron desde la última vez que trabajé en él (las fotos ya no están en el fondo, el texto es demasiado grande en mi parcela R), pero funciona bien en mi local. Los problemas vienen cuando lo corro en RPubs.

 4
Author: brigasnuncamais,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-17 00:10:23

Cuando se trata de insertar una imagen, la sugerencia de r2evans de ![Caption for the picture.](/path/to/image.png) puede ser problemática si se requiere una salida PDF.

La función knitr incluye gráficos knitr::include_graphics('/path/to/image.png') es una alternativa más portátil eso generará, en su nombre, el markdown que sea más apropiado para el formato de salida que está generando.

 2
Author: ms609,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-16 09:32:46