Jan*_*ary 5 datatable r r-markdown dt quarto
这个问题与this类似,但又不完全相同。
基本上,我有许多表想使用DT::datatable(). 不幸的是,我不知道如何做。
以下代码有效,但我需要手动输入所有代码:
---
title: "Untitled"
format: html
---
```{r}
library(DT)
```
::: {.panel-tabset}
### table no. 1
```{r}
#| results: asis
datatable(mtcars)
```
### table no. 2
```{r}
#| results: asis
datatable(mtcars)
```
:::
Run Code Online (Sandbox Code Playgroud)
下面的方法有效,但不是datatable()使用一个简单的降价表,pander它不能给出所需的效果。
---
title: "Untitled"
format: html
---
```{r}
library(pander)
```
::: {.panel-tabset}
```{r}
#| results: asis
for(i in 1:2) {
cat(sprintf("\n### table no. %d\n\n", i))
cat(pander(mtcars))
}
```
:::
Run Code Online (Sandbox Code Playgroud)
以下代码不起作用,我不知道如何使其起作用:
---
title: "Untitled"
format: html
---
```{r}
library(DT)
```
::: {.panel-tabset}
```{r}
#| results: asis
for(i in 1:2) {
cat(sprintf("\n### table no. %d\n\n", i))
print(datatable(mtcars))
}
```
:::
Run Code Online (Sandbox Code Playgroud)
这是 RMarkdown 上下文中的一个已知问题。但事实证明,RMarkdown 的解决方案也适用于 Quarto。
按照与RMarkdown [Discalimer:答案来自我] 中相同问题相关的这个答案,您可以通过首先确保所需的 javascript 依赖项包含DT在您的文档中并将调用包装datatable在其中来实现您想要的结果htmltools::tagList:
---
title: "Untitled"
format: html
---
```{r}
library(DT)
```
```{r, include=FALSE}
# Init Step to make sure that the dependencies are loaded
htmltools::tagList(datatable(mtcars))
```
::: {.panel-tabset}
```{r}
#| results: asis
for(i in 1:2) {
cat(sprintf("\n### table no. %d\n\n", i))
print(htmltools::tagList(datatable(mtcars)))
}
```
:::
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
928 次 |
| 最近记录: |