无法使用Rmarkdown在Shining应用程序中呈现ggvis绘图

无法使用Rmarkdown在Shining应用程序中呈现ggvis绘图,r,shiny,r-markdown,ggvis,R,Shiny,R Markdown,Ggvis,我很难让ggvis和shinny在基于Rmarkdown的应用程序中很好地发挥作用。即使不使用bind_和ggvisOutput(如图所示),我也能够毫无问题地创建以下ggvis图形: 但是,我正在构建动态报告,以允许用户配置输入数据,然后通过点击“运行”按钮重新执行,如下所示: ```{r config} inputPanel( sliderInput('n', 'n:', min = 10, max = 100, value = 50), actionButton('run', 'R

我很难让ggvis和shinny在基于Rmarkdown的应用程序中很好地发挥作用。即使不使用
bind_
ggvisOutput
(如图所示),我也能够毫无问题地创建以下ggvis图形:

但是,我正在构建动态报告,以允许用户配置输入数据,然后通过点击“运行”按钮重新执行,如下所示:

```{r config}
inputPanel(
  sliderInput('n', 'n:', min = 10, max = 100, value = 50),
  actionButton('run', 'Run!')
)

data = eventReactive(input$run, { data = data.frame(x = rnorm(input$n)) })

data %>%
  ggvis(~x) %>%
  layer_histograms()
```
当我试图运行文档时,我得到了一个不伦不类的错误,
从第26-36行退出(test.Rmd)
。有人知道如何让它工作吗

更新:

这几乎起作用了,但当我点击“快跑”时ggvis绘图在单独的浏览器窗口中呈现,而不是在文档中呈现:

```{r config}
inputPanel(
  sliderInput('n', 'n:', min = 10, max = 100, value = 50),
  actionButton('run', 'Run!')
)

data = eventReactive(input$run, { data = data.frame(x = rnorm(input$n)) })

renderTable({summary(data())})

renderPlot({
  data() %>%
    ggvis(~x) %>%
    layer_histograms() %>%
    bind_shiny('plot')

})

ggvisOutput('plot')
```

您链接的两个问题表明您需要
反应({
)中的“ggvis”代码,而不是
渲染图({

这个现在对我有用

---
title: "test"
runtime: shiny
output: html_document
---

```{r config}
library(ggvis)
inputPanel(
  sliderInput('n', 'n:', min = 10, max = 100, value = 50),
  actionButton('run', 'Run!')
)

data = eventReactive(input$run, { data = data.frame(x = rnorm(input$n)) })

renderTable({summary(data())})

reactive({
  data() %>%
    ggvis(~x) %>%
    layer_histograms() %>%
    bind_shiny('plot')

})

ggvisOutput('plot')
```

你的
data%%>%ggvis(~x)%%>%…
是否需要依赖于反应性
data()
,因此你将拥有
data()%%>%ggvis…
?不应该。ggvis可以传递“裸反应性”,如下所示:啊,好的,很高兴知道。将你的
renderPlot
更改为
reactive
---
title: "test"
runtime: shiny
output: html_document
---

```{r config}
library(ggvis)
inputPanel(
  sliderInput('n', 'n:', min = 10, max = 100, value = 50),
  actionButton('run', 'Run!')
)

data = eventReactive(input$run, { data = data.frame(x = rnorm(input$n)) })

renderTable({summary(data())})

reactive({
  data() %>%
    ggvis(~x) %>%
    layer_histograms() %>%
    bind_shiny('plot')

})

ggvisOutput('plot')
```