多个 knitr kables 按组
multiple knitr kables by group
对于给定的数据集,我想在 rmarkdown 中打印 group-wise kables 并将组名作为标题。
假设这是 my_document:
library(magrittr)
library(dplyr)
library(knitr)
iris %>%
group_by(Species) %>%
slice(1:10) %>%
do(kables = kable(., caption = .$Species[1])) %$%
kables %>%
lapply(print)
我调用 rmarkdown::render("my_document.R")
生成降价输出。
现在的问题是我的电缆出现在评论中,但不是呈现的电缆:
## Table: setosa
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## ------------- ------------ ------------- ------------ --------
## 5.1 3.5 1.4 0.2 setosa
## 4.9 3.0 1.4 0.2 setosa
## 4.7 3.2 1.3 0.2 setosa
## 4.6 3.1 1.5 0.2 setosa
## 5.0 3.6 1.4 0.2 setosa
## 5.4 3.9 1.7 0.4 setosa
## 4.6 3.4 1.4 0.3 setosa
## 5.0 3.4 1.5 0.2 setosa
## 4.4 2.9 1.4 0.2 setosa
## 4.9 3.1 1.5 0.1 setosa
##
##
## Table: versicolor
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## ------------- ------------ ------------- ------------ -----------
## 7.0 3.2 4.7 1.4 versicolor
## 6.4 3.2 4.5 1.5 versicolor
## 6.9 3.1 4.9 1.5 versicolor
## 5.5 2.3 4.0 1.3 versicolor
## 6.5 2.8 4.6 1.5 versicolor
## 5.7 2.8 4.5 1.3 versicolor
## 6.3 3.3 4.7 1.6 versicolor
## 4.9 2.4 3.3 1.0 versicolor
## 6.6 2.9 4.6 1.3 versicolor
## 5.2 2.7 3.9 1.4 versicolor
##
##
## Table: virginica
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## ------------- ------------ ------------- ------------ ----------
## 6.3 3.3 6.0 2.5 virginica
## 5.8 2.7 5.1 1.9 virginica
## 7.1 3.0 5.9 2.1 virginica
## 6.3 2.9 5.6 1.8 virginica
## 6.5 3.0 5.8 2.2 virginica
## 7.6 3.0 6.6 2.1 virginica
## 4.9 2.5 4.5 1.7 virginica
## 7.3 2.9 6.3 1.8 virginica
## 6.7 2.5 5.8 1.8 virginica
## 7.2 3.6 6.1 2.5 virginica
那么如何在我的 markdown 文档中按组渲染 kables?
您需要在区块选项中指定results="asis"
。阅读 http://yihui.name/knitr/options/#chunk_options,因为您可能还想使用 echo=FALSE
来隐藏您的代码 and/or message=FALSE
来隐藏加载包时出现的任何消息。
例如,如果我不指定 message=FALSE
,我会得到:
附加包:‘dplyr’
The following object is masked from ‘package:stats’:
filter
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
在加载 dplyr 后的最终输出中。
对于给定的数据集,我想在 rmarkdown 中打印 group-wise kables 并将组名作为标题。
假设这是 my_document:
library(magrittr)
library(dplyr)
library(knitr)
iris %>%
group_by(Species) %>%
slice(1:10) %>%
do(kables = kable(., caption = .$Species[1])) %$%
kables %>%
lapply(print)
我调用 rmarkdown::render("my_document.R")
生成降价输出。
现在的问题是我的电缆出现在评论中,但不是呈现的电缆:
## Table: setosa
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## ------------- ------------ ------------- ------------ --------
## 5.1 3.5 1.4 0.2 setosa
## 4.9 3.0 1.4 0.2 setosa
## 4.7 3.2 1.3 0.2 setosa
## 4.6 3.1 1.5 0.2 setosa
## 5.0 3.6 1.4 0.2 setosa
## 5.4 3.9 1.7 0.4 setosa
## 4.6 3.4 1.4 0.3 setosa
## 5.0 3.4 1.5 0.2 setosa
## 4.4 2.9 1.4 0.2 setosa
## 4.9 3.1 1.5 0.1 setosa
##
##
## Table: versicolor
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## ------------- ------------ ------------- ------------ -----------
## 7.0 3.2 4.7 1.4 versicolor
## 6.4 3.2 4.5 1.5 versicolor
## 6.9 3.1 4.9 1.5 versicolor
## 5.5 2.3 4.0 1.3 versicolor
## 6.5 2.8 4.6 1.5 versicolor
## 5.7 2.8 4.5 1.3 versicolor
## 6.3 3.3 4.7 1.6 versicolor
## 4.9 2.4 3.3 1.0 versicolor
## 6.6 2.9 4.6 1.3 versicolor
## 5.2 2.7 3.9 1.4 versicolor
##
##
## Table: virginica
##
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## ------------- ------------ ------------- ------------ ----------
## 6.3 3.3 6.0 2.5 virginica
## 5.8 2.7 5.1 1.9 virginica
## 7.1 3.0 5.9 2.1 virginica
## 6.3 2.9 5.6 1.8 virginica
## 6.5 3.0 5.8 2.2 virginica
## 7.6 3.0 6.6 2.1 virginica
## 4.9 2.5 4.5 1.7 virginica
## 7.3 2.9 6.3 1.8 virginica
## 6.7 2.5 5.8 1.8 virginica
## 7.2 3.6 6.1 2.5 virginica
那么如何在我的 markdown 文档中按组渲染 kables?
您需要在区块选项中指定results="asis"
。阅读 http://yihui.name/knitr/options/#chunk_options,因为您可能还想使用 echo=FALSE
来隐藏您的代码 and/or message=FALSE
来隐藏加载包时出现的任何消息。
例如,如果我不指定 message=FALSE
,我会得到:
附加包:‘dplyr’
The following object is masked from ‘package:stats’:
filter
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
在加载 dplyr 后的最终输出中。