我们如何从 JS 块中读取 R 变量?

How can we read an R variable from JS chunk?

大家好,知道如何从 JS 块中读取 R 变量吗?

我试图将 R 变量保存在一个 txt 文件中,然后从 JS 块中读取它,但我无法弄清楚如何,因为它不起作用

这取决于您希望事情变得多复杂。

最简单的解决方案就是我在评论中所说的:只需使用内联 R 代码将值作为文本的一部分直接放入 Javascript 中。如果 Javascript 在一个块中,这不起作用,只有当它是原始 <script></script> 形式时。例如,

---
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
msg <- "This doesn't work."
```

```{javascript}
alert("`r msg`")
```

```{r}
msg <- "This works:  this is a message from R!"
```

<script>
alert("`r msg`")
</script>

更复杂的版本将涉及编写一个 htmlwidget,这有点棘手,但允许在打印 R 对象或转到 Shiny 时执行任意 Javascript 代码,如果你想的话响应用户查看网页的 R 代码。