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

我有一个算法,每秒钟或每两秒循环遍历并绘制一个图形。
可以通过RunAlgorithm()调用该算法

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


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

r - 使代码在click R演示文稿上运行-LMLPHP

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


我想要某种方式来单击按钮,或转到此幻灯片并在浏览器中播放动画

最佳答案

作为RMarkdown文档的R演示文稿。不是像闪亮的应用程序。结果是一个静态的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。

关于r - 使代码在click R演示文稿上运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35353992/

10-12 17:07