如何在RMarkdown中嵌入ggvis交互式图表?

Dam*_*mbo 2 r r-markdown ggvis

我试图从交互性小插图中将RMarkdown编织成html这个情节:

mtcars %>% ggvis(x = ~wt) %>%
    layer_densities(
      adjust = input_slider(.1, 2, value = 1, step = .1, label = "Bandwidth adjustment"),
      kernel = input_select(
        c("Gaussian" = "gaussian",
          "Epanechnikov" = "epanechnikov",
          "Rectangular" = "rectangular",
          "Triangular" = "triangular",
          "Biweight" = "biweight",
          "Cosine" = "cosine",
          "Optcosine" = "optcosine"),
        label = "Kernel")
    )
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误消息:

## Warning: Can't output dynamic/interactive ggvis plots in a knitr document.
## Generating a static (non-dynamic, non-interactive) version of the plot.
Run Code Online (Sandbox Code Playgroud)

小智 6

您必须在标题中设置"output:html_document"和"runtime:shiny".这对我有用:

---
title: "stackoverflow"
author: "Kári S Friðriksson"
date: "7 nóvember 2016"
output: html_document
runtime: shiny
---

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



```{r eruptions, echo=FALSE}
mtcars %>% ggvis(x = ~wt) %>%
    layer_densities(
      adjust = input_slider(.1, 2, value = 1, step = .1, label = "Bandwidth adjustment"),
      kernel = input_select(
        c("Gaussian" = "gaussian",
          "Epanechnikov" = "epanechnikov",
          "Rectangular" = "rectangular",
          "Triangular" = "triangular",
          "Biweight" = "biweight",
          "Cosine" = "cosine",
          "Optcosine" = "optcosine"),
        label = "Kernel")
    )
```
Run Code Online (Sandbox Code Playgroud)

最简单的方法是转到file/new file/R markdown/Shiny/Shiny文档.然后会自动为您设置标题,并且代码框上方的栏上会有一个播放按钮而不是编织按钮.另请注意,您需要library(ggvis)在代码中包含,因为shiny将以cleas slate开头,而不能"看到"您加载的包或函数.