将Rmarkdown的报告表和数字保存到文件中

时间:2017-06-23 00:35:03

标签: r r-markdown

简单问题:

我有一个Rmarkdown脚本,我在其中生成表格和数字:

---
title: "test"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r libraries}
library(knitr)
library(kableExtra)
library(ggplot2)
```


# Table
```{r print.table,warning=FALSE,message=FALSE}
df <- data.frame(id=LETTERS,value=1:26)
knitr::kable(df) %>% kable_styling()
```


# Figure
```{r print.params.table,warning=FALSE,message=FALSE}
ggplot(data=df,aes(x=id,y=value))+geom_point()
```

我的问题是,是否有办法能够从html报告中将表格和数字保存到文件(例如,分别为csv和pdf)?

我的意思是假设我将这个html报告发送给协作者,他希望有一个单独的表格和数字副本,而不必编写任何代码行。 Rmarkdown或knitr是以按钮的形式在html报告中启用它还是我必须以编程方式将这些文件保存到文件中?

2 个答案:

答案 0 :(得分:3)

如果添加keep_md选项,则图像文件将保存在您的目录中(例如&#34; xxx_file&#34;文件夹),您可以将其发送给您的同事。但我不认为桌子有选择。

---
title: "test"
output: 
  html_document:
      keep_md: true
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r libraries}
library(knitr)
library(kableExtra)
library(ggplot2)
```


# Table
```{r print.table,warning=FALSE,message=FALSE}
df <- data.frame(id=LETTERS,value=1:26)
knitr::kable(df) %>% kable_styling()
```


# Figure
```{r print.params.table,warning=FALSE,message=FALSE}
ggplot(data=df,aes(x=id,y=value))+geom_point()
```

答案 1 :(得分:3)

我发现的表解决方案如下:

library(knitr)
library(kableExtra)
library(here)
library(ggplot2)

df <- data.frame(id = LETTERS, value = 1:26)

df %>% kable(format = "latex", booktabs = TRUE) %>% 
  kable_styling() %>% 
  kable_as_image(filename = here("Tables", "test"), 
                 file_format = "jpeg", keep_pdf = F)

您还可以将keep_pdf切换为TRUE,这样表也可以pdf格式。