【发布时间】:2017-02-05 13:14:24
【问题描述】:
我正在创建一个动态 rmarkdown 文档。最终结果应该为数据中的每个“分类”创建一个选项卡。每个选项卡都应该有一个来自 DT 包的数据表,其中打印了数据。以下是我一直在使用的代码:
---
output: html_document
---
# Setup{.tabset}
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(knitr)
library(DT)
```
```{r data.setup}
set.seed = 1242
rows = 64
data.1 = runif(rows, 25, 75)
data.2 = runif(rows, .01, 1)
data.3 = runif(rows, 1, 10)
classification = c("A", "B", "C", "D")
df = data.frame(cbind(data.1 = data.1, data.2 = data.2, data.3 = data.3, classification = classification))
df$data.1 = as.numeric(df$data.1)
df$data.2 = as.numeric(df$data.2)
df$data.3 = as.numeric(df$data.3)
```
```{r results= 'asis'}
for(j in levels(df$classification)){
df.j = df[df$classification == j, ]
cat(paste("\n\n## Classification: ", j, "##\n"))
w = datatable(df.j)
#datatable(df.j)
print(w)
}
```
请注意,我已经注释掉了对数据表函数的直接调用,这些调用没有打印到 rmarkdown。所写的调用结果会生成一个带有正确选项卡的 html 文档,但其中没有数据表。此外,数据表实际上显示在我的 RStudio 会话中,并带有正确的子集。作为测试,我尝试使用 knitr 的 kable 函数来实现目标,并且表格打印在相应的选项卡中,不幸的是,kable 没有所需的所有功能。
【问题讨论】:
标签: r loops r-markdown yui-datatable