gpt4 book ai didi

r - knitr:将计算机输出包装在 HTML 标签中

转载 作者:太空宇宙 更新时间:2023-11-04 16:31:02 26 4
gpt4 key购买 nike

使用 knitr,我试图将输出包装在特定类的 div 中。例如,这是代码:

```{r}
# Print the pressure data set
head(pressure)
````

我希望将输出(而不是代码)包装在一个 div 中,例如 <div class='myclass'> ,因为该类提供了对输出的特殊控制。 (在我的例子中,它将显示在 2 列中)

我在 StackOverflow 上发现了另一个问题,但提供的答案将代码和输出包装在 div 中,而我只想将输出放在 div 中。

这可以用 knitr 完成吗?

编辑:

这是当前生成的内容:

<pre class="r"><code>head(pressure)</code></pre>
<pre><code>## temperature pressure
## 1 0 0.0002
## 2 20 0.0012
## 3 40 0.0060
## 4 60 0.0300
## 5 80 0.0900
## 6 100 0.2700</code></pre>

我想要这样的东西:

<pre class="r"><code>head(pressure)</code></pre>
<div class="myclass">
<pre><code>## temperature pressure
## 1 0 0.0002
## 2 20 0.0012
## 3 40 0.0060
## 4 60 0.0300
## 5 80 0.0900
## 6 100 0.2700</code></pre>
</div>

但我希望它可以针对特定的 block 进行定制。也就是说,我希望能够设置 block 选项,以便某些 block 的输出为 myclass。和其他人输出 otherclass .

最佳答案

这是一个最小的例子:

```{r setup, include=FALSE, cache=FALSE, results='asis'}
knit_hooks$set(
output = function(x, options) {
# any decoration here
paste0("<div class='myout'>", x, "</div><br/>")
}
)

```

<style>
.myout {background:red}
</style>

```{r}
mean(1:3)
sd(1:3)
var(1:3)
```

更新

也许这有帮助。

```{r setup, include=FALSE, cache=FALSE, results='asis'}
ho0 <- knit_hooks$get('output')

knit_hooks$set(
output = function(x, options) {
if (is.null(options$class)) ho0(x)
else
# any decoration here
paste0("<div class='", options$class, "'>", ho0(x), "</div><br/>")
}
)

```

<style>
.myout {background:red}
.myout2 {background:skyblue}
</style>

```{r}
mean(1:3)
```
```{r class="myout"}
sd(1:3)
```
```{r class="myout2"}
var(1:3)
```

请注意,您可以在 .Rmd 之外定义 Hook 。在 knit 之前调用 knit_hook$set

关于r - knitr:将计算机输出包装在 HTML 标签中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21820888/

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