首页 > 解决方案 > 仅当通过 javascript 生成 HTML 时,R 内联代码才在 RMarkdown 中执行

问题描述

我目前正在构建一个 RMarkdown Flexdashboard 并通过 javascript 生成 HTML 代码模板。当我生成我的 HTML 时,我的内联 R 似乎不起作用。代码如下。

```{js, class.source="vis1", results='asis'}
for(i = 1; i < 2; i++){
    $('<p id="vis">`r {1 + 1;}`</p>').insertAfter(".vis1");
}
```

我也尝试了以下方法无济于事。

```{js, class.source="vis1", results='asis'}
for(i = 1; i < 2; i++){
    $('<div id="vis">```\n {r} 1 + 1 \n```</div>').insertAfter(".vis1");
}
```

这是 "test: 2" <- 使用内联 `r 1 + 1` 的输出,只是为了表明它可以正常工作。

输出

* 我开始认为这可能是由于设置 results='asis' *

标签: rr-markdownknitrflexdashboard

解决方案


将 i 设置为 0 否则它只会运行一次

for(i = 0; i < 2; i++){
    $('<p id="vis">`r {1 + 1;}`</p>').insertAfter(".vis1");
}

推荐阅读