Insertar imagen / tabla en R Markdown

Entonces quiero insertar una tabla Y una imagen en R Markdown. En el documento de Word normal, puedo insertar fácilmente una tabla (5 filas por 2 columnas), y para la imagen solo copie y pegue.

  1. ¿Cómo inserto una tabla de 5 columnas por 2 columnas (y también escribo cosas en ellas) (y también ajusto la tabla en términos de que la 2ª columna sea más ancha que la primera)?

  2. ¿Cómo inserto una imagen? Desde mi entendimiento, primero debo guardar la imagen como un png, luego hacer referencia a 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 de ajustar el tamaño de la imagen a mi gusto)?

  3. Si alguien sabe algo interesante / formateo sobre R Markdown, ¿podría informarme también? Sé que # hace un gran título para un párrafo, y ** ** niega las cosas. ¡Eso es todo lo que sé!

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

  • Léame de Pandoc, específicamente tablas

  • RMarkdown de RStudio, más detalles en los conceptos básicos (incluidas tablas) y una reescritura del descuento de Pandoc .

Las imágenes son muy simples 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á alguna forma de editor de imágenes. Encuentro que puedo hacer todo lo que necesito con ImageMagick , GIMP o InkScape , todos de código abierto y gratuito.

Para agregar una imagen, use:

 ![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, un diagtwig). Esto se puede hacer directamente en el comando para crear la imagen o, incluso mejor, a través de opciones si está utilizando knitr (muy recomendable … consulte las opciones de fragmento , específicamente en Parcelas).

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

Imágenes

El libro de contabilidad hace un excelente trabajo al explicar que la mejor forma de incluir imágenes es mediante el uso de include_graphics() . Por ejemplo, se puede imprimir una imagen de ancho completo 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 cual este método es mejor que el enfoque de Pandoc ![your image](path/to/image) :

  • Cambia automáticamente el comando según el formato de salida (HTML / PDF / Word)
  • La misma syntax se puede usar para el tamaño de la gráfica ( fig.width ), el ancho de salida en el informe ( out.width ), agregar leyendas ( 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.

Mesas

knitr::kable() es la mejor manera de incluir tablas en un informe de R Markdown, como se explica completamente aquí . De nuevo, esta función es inteligente al seleccionar automáticamente el formato correcto para la salida seleccionada.

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

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

Lograr el estilo personalizado del ancho de la columna de la tabla está más allá del scope 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 de R Markdown sigue siendo el mejor lugar para aprender sobre la syntax básica que puedes usar.

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

En marzo, realicé una presentación en mazo en slidify, Rmarkdown con impress.js, que es un marco 3D genial. mi encabezado index.Rmd ve como

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

subdirectorios 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:

 

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

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

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