多个 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 后的最终输出中。