pav*_*pav 7 r knitr r-markdown
我必须在许多rmarkdown报告中重复某些输出,并希望编写一个用于此目的的函数.
当我编织rmd文件而不是kable数据帧时,调用函数输出正确.
例如
---
title: "Markdown example"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
# Markdown example
```{r mtcars}
make_outputs <- function(){
knitr::kable(head(mtcars))
plot(mtcars$mpg, mtcars$cyl)
hist(mtcars$cyl)
}
make_outputs()
```
Run Code Online (Sandbox Code Playgroud)
显示图表但不显示kable表格.
您可以通过使用print来打印 kable 输出,设置results="asis"代码块的 ,然后使用kable_stylingfrom package来做到这一点kableExtra。
这对我有用:
```{r mtcars, results='asis'}
library(kableExtra)
library(knitr)
make_outputs <- function(){
print(kable_styling(kable(head(mtcars))))
plot(mtcars$mpg, mtcars$cyl)
hist(mtcars$cyl)
}
make_outputs()
```
Run Code Online (Sandbox Code Playgroud)
小智 0
我得到了类似的工作
例如
---
title: "Markdown example"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
# Markdown example
```{r results = 'asis'}
make_outputs <- function(){
print(plot(mtcars$mpg, mtcars$cyl))
print(hist(mtcars$cyl))
return(knitr::kable(head(mtcars)))
}
make_outputs()
```
Run Code Online (Sandbox Code Playgroud)
如果您使用 ggplot 绘图,则需要将绘图包装在 print() 内