【问题标题】:using params from YAML header with a shiny runtime Rmd使用来自 YAML 标头的参数和闪亮的运行时 Rmd
【发布时间】:2021-10-04 23:30:52
【问题描述】:

我想使用params 传递闪亮应用的设置。考虑以下文档,该文档仅在复选框更改时打印一条消息。我希望可以在 yaml 标头中使用 params 配置消息。

但是,这似乎失败了,因为 params 似乎仅在呈现文档时可用(请注意,它在文档本身中正确打印了消息)。它是否正确?有没有办法在运行时读取params?这在任何地方都有记录吗?

文档如下:

---
title: "Test"
output: html_document
runtime: shiny
params:
  message: "hi"
---

Can see this: `r params$message`

```{r eruptions, echo=FALSE}
shiny::checkboxInput("cb","Checkbox")
```

```{r, echo=FALSE}
observeEvent(input$cb, {
  # This works
  message("clicked")
  # This fails:
  # Error in message(params$message) : object 'params' not found
  try(message(params$message))
})
```

【问题讨论】:

  • 很奇怪。也许在开头的一个块中添加params <<- params

标签: r shiny r-markdown shiny-reactivity


【解决方案1】:

这可以通过将params 设置为非局部变量来实现:

---
title: "Test"
output: html_document
runtime: shiny
params:
  message: "hi"
---

```{r}
params <<- params
```
......

【讨论】:

    猜你喜欢
    • 2015-11-14
    • 1970-01-01
    • 2019-12-03
    • 2016-02-03
    • 1970-01-01
    • 2016-08-07
    • 2013-07-08
    • 2019-03-18
    • 2018-04-20
    相关资源
    最近更新 更多