点击运行代码的R演示文稿

3
我正在使用Rstudio的R演示功能制作演示文稿。
我有一个算法,每秒或两秒钟循环并绘制一个图形。可以通过RunAlgorithm()调用该算法。
RunAlgorithm<-function(){
    for(i in 1:10){
        x<-rnorm(1000)
        y<-runif(1000)
        plot(x,y)
        Sys.sleep(1)
    }
}

我希望在演示中展示这个算法的运行过程。但是当我在文件中使用它(如下所示),我只能得到每个单独绘图的整个页面,一个接一个地显示。

enter image description here

TestFile.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

我希望能有一种方式,通过点击按钮或进入该幻灯片,在浏览器中播放动画。
1个回答

1
作为任何RMarkdown文档,R演示文稿并不像shiny应用程序那样具有动态性。结果是一个静态的html文件。因此,您需要创建一个可以包含在演示文稿中的动画。这在Combining R Markdown and Animation Package中部分得到了回答,但我无法使其对我起作用。所以我找到了这个example
所以对于您来说,它会像这样。
```{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 添加到路径中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接