r - 在 R markdown 中,如何在 r 块设置为 results = 'asis' 时输出可排序表
问题描述
在 R markdown 中,我想在 r 块设置为 results='asis' 时输出一个可排序的表
DT::datatable 产生我正在寻找的所需类型的输出。但是,这似乎不适用于 results='asis' 集。我不确定是否有任何逃避这种设置的方法。
```{r setup, include=FALSE}
library(knitr)
my_data = mtcars
df_list = list()
df_list[[1]] = my_data[1:5,]
df_list[[2]] = my_data[6:10,]
### tabs {.tabset}
```{r, results='asis', echo = FALSE}
for (i in 1:length(df_list)){
cat("#### tab", i)
print(kable(df_list[[i]]))
cat('\n\n')
}
(*在上面的代码中,我不得不省略 r 块“```”的关闭,因为我不知道如何在此处正确显示它)
如您所见,第二个 r 块设置了 results='asis' 。我正在设置它,因为我想在 for 循环中动态生成选项卡。我正在使用 print(kable...) 打印表格,但它们不可排序。一旦我编织了文件,有没有办法输出可排序的表格?谢谢!
解决方案
---
title: "DT tabs"
output: html_document
---
```{r setup, include=FALSE}
library(knitr)
library(dplyr)
library(DT)
my_data = mtcars
df_list = list()
df_list[[1]] = my_data[1:5,]
df_list[[2]] = my_data[6:10,]
data.frame() %>%
DT::datatable() %>%
knitr::knit_print() %>%
attr('knit_meta') %>%
knitr::knit_meta_add() %>%
invisible()
```
### tabs {.tabset}
```{r, results='asis', echo = FALSE}
for (i in 1:length(df_list)){
cat("#### tab", i,'\n')
print(htmltools::tagList(DT::datatable(df_list[[i]])))
cat('\n\n')
}
推荐阅读
- visual-studio-code - 为代码块添加白色水平引导线
- installation - 如何在 conda 环境中安装弃用/不支持的 Python 3.4?
- c# - UWP 无法使用自定义 OSK 在 webview 的文本框中输入数据
- python - 如何创建反映每个客户过去 5 次交易的 5 个新列?
- django - 使用 django 静态 url 有效替换源 url
- c# - 使用 Process 触发 Open As 对话框
- spring-boot - 未找到类型返回值的转换器:类 java.io.ByteArrayOutputStream
- java - Android 活动中的问题:ListView 不显示任何项目,即使在最低实现中也是如此
- mysql - 我能知道相关子查询是什么意思吗?
- java - Android:需要用户交互/输入的通知