DT 表不会在带有 Word 输出的 Rmarkdown 中显示

问题描述 投票:0回答:2

我正在尝试将静态

DT
渲染到单词中。

我有一个文件的精简版本

example.Rmd
并且我正在使用
knitr
版本 1.30 以及所有相关软件包的最新稳定版本。根据 https://bookdown.org/yihui/bookdown/html-widgets.html
datatable
应该呈现,但我没有得到静态
DT
只是返回
echo=TRUE
部分。

如果可以的话请帮助我 - 我陷入了绝望的困境,我不能只使用另一张桌子。


title: 'Main title'
subtitle: 'Subtitle here'
always_allow_html: yes
# params:these will come from SHINY APP
#   x1: x1
#   x2: x2
#   x3 :x3
output:
   word_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(out.width = '100%', dpi=300)

```

```{r, fig.align='center', echo=TRUE, cache=FALSE, warning = TRUE, message = TRUE, tidy=TRUE}
library(DT)
library(webshot)
if(is.null(webshot:::find_phantom())){webshot::install_phantomjs()}

DT::renderDataTable(iris)
```
r r-markdown knitr dt
2个回答
2
投票

此问题的解决方案是将

renderDataTable
替换为
datatable
,这样可以让
webshot
发挥作用。

title: 'Main title'
subtitle: 'Subtitle here'
always_allow_html: yes
# params:these will come from SHINY APP
#   x1: x1
#   x2: x2
#   x3 :x3
output:
   word_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(out.width = '100%', dpi=300)

```

```{r, fig.align='center', echo=TRUE, cache=FALSE, warning = TRUE, message = TRUE, tidy=TRUE}
library(DT)
library(webshot)
if(is.null(webshot:::find_phantom())){webshot::install_phantomjs()}

 DT::datatable(iris)
```

0
投票

这就是我所做的,我不确定你是否可以像你想要的那样将 DT 渲染成静态表文件直接进入 Word,但也许我不知道。 DT 是一个 JavaScript 库,因此它应该是动态的并且可以在 Web 浏览器中与用户交互。但

knitr::kable()
功能将使您的表格完全直接转换为单词。

---
title: 'Main title'
subtitle: 'Subtitle here'
always_allow_html: yes
runtime: shiny
output:
    html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(out.width = '100%', dpi=300)

```

```{r, fig.align='center', cache=FALSE, warning = FALSE, message = FALSE}
library(DT)
library(webshot)
if(is.null(webshot:::find_phantom())){webshot::install_phantomjs()}

DT::renderDataTable(iris)
```

enter image description here

也许只使用带有

knitr::kable
的简单表格输出,这会将整个表格直接渲染为来自 Rmarkdown 的 Word 文档。

---
title: 'Main title'
subtitle: 'Subtitle here'
output:
    word_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(out.width = '100%', dpi=300)

```

```{r, fig.align='center', cache=FALSE, warning = FALSE, message = FALSE}
library(DT)
library(knitr)

knitr::kable(iris)
```

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.