gpt4 book ai didi

在 'asis' R Markdown chunk 中初始化 JS 渲染器的推荐方法

转载 作者:行者123 更新时间:2023-12-03 20:04:06 24 4
gpt4 key购买 nike

'asis' 块对于输出 Markdown 文档中的对象列表非常有用,请参见以下示例:Highcharter , DT , Leaflet , ...
但是,在上面的例子中,对象列表不会打印 如果渲染器在前一个块中没有被调用一次 ,以便它被初始化:这是一个棘手的解决方法,我更多地通过试验/错误而不是在文档中找到解决方案。
这是一个可重现的问题,也发布在 https://github.com/rstudio/rmarkdown/issues/1877 上:

---
title: "Test"
output:
html_document
---



```{r,echo=F}
library(DT)
library(rmarkdown)
library(purrr)
library(knitr)

df_list <- list("cars" = mtcars, "flowers" = iris)

knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE)
```

```{r}
# If this first initialization isn't run, tabs won't print
DT::datatable(data.frame())
```

# Test tabs {.tabset}

```{r, results='asis' }
imap(df_list, ~{
cat('## Subtab ',.y,'\n')
cat('\n')
DT::datatable(.x) %>%
htmltools::tagList() %>% as.character() %>% cat() })

```



最佳答案

如果您真的需要'asis' ,然后您手动添加额外的依赖项,例如 JavaScript 和 CSS。你可以用 knitr::knit_meta_add() 来做.

```{r, results='asis'}
library(purrr)
data.frame() %>%
DT::datatable() %>%
knitr::knit_print() %>%
attr('knit_meta') %>%
knitr::knit_meta_add() %>%
invisible()

df_list <- list("cars" = mtcars, "flowers" = iris)
imap(df_list, ~{
cat('## Subtab ',.y,'\n')
cat('\n')
cat(knitr::knit_print(DT::datatable(.x)))})
```

关于在 'asis' R Markdown chunk 中初始化 JS 渲染器的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63534247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com