我如何从代码块中的数据框中获取数字(或文本)并输入RMarkdown html输出中的文本?

时间:2019-01-10 05:24:31

标签: r r-markdown knitr

当输出是Word文档时,我可以使它工作,但是当输出为html时,我不能使它工作。

---
title: "R Notebook"
output:
  word_document: default
  html_notebook: default
---

```{r, include = FALSE}
library(tidyverse)
mtcars

```

Number `r  mtcars %>% select(mpg) %>% slice(1)`

字面上的输出是

  

数字21

但是当输出是html时,我得到了一个完整的表。

enter image description here

有没有一种方法可以只在html输出中获取文本?

它将用在文本中,所以我不需要表格。

1 个答案:

答案 0 :(得分:1)

slice返回类数据帧,因此您将得到表的输出

mtcars %>% select(mpg) %>% slice(1) %>% class
#[1] "data.frame"

相反,您需要将输出作为矢量,因此将最终输出作为矢量的任何方式都可以使用。在这里,我使用pull(请记住您正在使用tidyverse)来获取输出作为矢量(这里是numeric)。

mtcars %>% select(mpg) %>% slice(1) %>% pull %>% class
#[1] "numeric"

也是

---
title: "R Notebook"
output:
  word_document: default
  html_notebook: default
---

```{r, include = FALSE}
library(tidyverse)
mtcars
```

Number `r  mtcars %>% select(mpg) %>% slice(1) %>% pull`

enter image description here

这不会更改Word中的输出,并且仍然可以像以前一样工作。