我们如何从JS chunk中读取一个R变量?

时间:2018-06-05 11:15:52

标签: javascript r rstudio r-markdown knitr

大家好,我们知道如何从JS chunk中读取一个R变量?

我试图将R变量保存在txt文件上,然后从JS块读取它,但我无法弄清楚它是如何工作的

1 个答案:

答案 0 :(得分:1)

这取决于你想要的事情有多复杂。

最简单的解决方案就是我在评论中所说的:只需使用内联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对象时执行任意Javascript代码,或者如果您希望R代码响应则转到Shiny查看网页的用户。