3

我目前正在使用 Rstudio 的 R 演示功能进行演示。

我有一个算法,它每隔一两秒循环一次并绘制一个图表。该算法可以通过调用RunAlgorithm()

RunAlgorithm<-function(){
    for(i in 1:10){
        x<-rnorm(1000)
        y<-runif(1000)
        plot(x,y)
        Sys.sleep(1)
    }
}

我想在演示文稿中展示这个算法。但是当我在文件中使用它时(如下),我只得到每个单独图的一整页,一个显示在下一个之后

在此处输入图像描述

测试文件.Rpres

    TestFile
========================================================
author: me
date: today

First Slide
========================================================
```{r echo = FALSE}
RunAlgorithm<-function(){
        for(i in 1:10){
            x<-rnorm(1000)
            y<-runif(1000)
            plot(x,y)
            Sys.sleep(1)
        }
}
RunAlgorithm()

```
Slide With Code
========================================================


Slide 2

我想要的是某种方式来单击一个按钮,或者打开这张幻灯片并在浏览器中播放动画

4

1 回答 1

1

AR 演示为任何 RMarkdown 文档。不是动态的,例如。一个闪亮的应用程序。结果是一个静态 html 文件。因此,您需要创建一个可以包含在演示文稿中的动画。这在结合 R Markdown 和动画包中得到了部分解决,但我无法让它为我工作。所以我找到了这个例子

所以对你来说它看起来像

```{r setup,echo=FALSE}
library(knitr)
opts_knit$set(animation.fun = hook_scianimator)
```

<link rel="stylesheet" href="http://vis.supstat.com//assets/themes/dinky/css/scianimator.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://vis.supstat.com/assets/themes/dinky/js/jquery.scianimator.min.js"></script>

    TestFile
========================================================
author: me
date: today

First Slide
========================================================
```{r echo = FALSE, fig.show='animate', interval=1}
RunAlgorithm<-function(){
        for(i in 1:10){
            x<-rnorm(1000)
            y<-runif(1000)
            plot(x,y)
        }
}
RunAlgorithm()
```
Slide With Code
========================================================


Slide 2

编辑:

它也适用于opts_knit$set(animation.fun = hook_ffmpeg_html)但不适用于 R-Studio 预览,但仅在您单击更多 -> 另存为网页... 之后。请注意,您必须在路径中安装 ffmpeg。

于 2016-12-08T11:01:02.577 回答