无法使用Rmarkdown在Shining应用程序中呈现ggvis绘图
我很难让ggvis和shinny在基于Rmarkdown的应用程序中很好地发挥作用。即使不使用无法使用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
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')
```