在R Markdown中插入图片/表格

时间:2014-08-06 17:34:01

标签: r r-markdown

所以我想在R Markdown中插入一张桌子和一张图片。在常规word文档中,我可以轻松地插入一个表(5行乘2列),并且只需复制和粘贴图片。

  1. 如何插入5行2列表(并在其中键入内容)(并根据第2列宽度比第1列调整表格)?

  2. 如何插入图片?根据我的理解,我应该首先将图片保存为png,然后将其引用到我的文档中。此外,我想自动将图片调整到报告,比如不占用一页以上,或者不超过一页。(有没有办法让我根据自己的喜好调整图片的大小)?

  3. 如果有人知道关于R Markdown的任何酷/格式,你还可以让我知道吗?我知道#为一个段落提供了一个大标题,而** **则是大胆的事情。这就是我所知道的一切!

3 个答案:

答案 0 :(得分:121)

有几个网站为表格和图片提供合理的备忘单或HOWTO。我的名单上的首位是:

图片使用起来非常简单,但不能调整图像以适应页面。要调整图像属性(大小,分辨率,颜色,边框等),您需要某种形式的图像编辑器。我发现我可以使用ImageMagickGIMPInkScape中的一个来完成我需要的一切,所有这些都是免费和开源的。

要添加图片,请使用:

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

我知道pandoc支持PNG和JPG,它可以满足您的大部分需求。

如果您在R中创建图像大小(例如,绘图),则可以控制图像大小。这可以直接在创建图像的命令中完成,或者更好地通过选项完成,如果您使用knitr(强烈推荐...签出chunk options,特别是在Plots下)。

我强烈建议您仔细阅读这些教程;降价是非常方便的,有许多功能,大多数人不会定期使用,但真的很喜欢他们学习它。 (在这些教程中,SO不一定是提出问题的最佳位置。)

答案 1 :(得分:44)

  

更新:自@ r2evans的答案以来,将图像插入R Markdown并控制图像大小要容易得多。

图片

bookdown book很好地解释了使用include_graphics()包含图片的最佳方式。例如,可以使用下面的标题打印全宽图像:

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

此方法优于pandoc方法的原因![your image](path/to/image)

  • 它会根据输出格式(HTML / PDF / Word)自动更改命令
  • 相同的语法可用于绘图的大小(fig.width),报告中的输出宽度(out.width),添加标题(fig.cap)等。
  • 它使用最好的图形设备进行输出。这意味着PDF图像保持高分辨率。

knitr::kable()是在R Markdown报告中包含表格的最佳方式,如完全解释here。同样,此功能可以自动为所选输出选择正确的格式。

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

如果您想在R Markdown中创建自己的简单表并使用R Studio,则可以查看insert_table package。它为制作表格提供了一个整洁的图形界面。

实现表格列宽的自定义样式超出了knitr的范围,但编写了kableExtra包以帮助实现此目的:https://cran.r-project.org/web/packages/kableExtra/index.html

样式提示

R Markdown cheat sheet仍然是了解大多数可以使用的基本语法的最佳位置。

如果您正在寻找格式化的潜在扩展,bookdown包也值得探索。它提供了交叉引用,创建特殊标题等功能:https://bookdown.org/yihui/bookdown/markdown-extensions-by-bookdown.html

答案 2 :(得分:4)

在插入图片时,如果需要PDF输出,r2evans对![Caption for the picture.](/path/to/image.png)的建议可能会有问题。

knitr函数include_graphics knitr::include_graphics('/path/to/image.png')是一种更便携的选择 这将代表您生成最适合您正在生成的输出格式的降价。