问题:
嗨,我尝试在rmarkdown文档中制作动画情节。这是我的代码:
```{r lmSim, fig.show='animate'}
library(animation)
library(plyr)
oopt = ani.options(interval = 0.3, nmax = 101)
a <- sort(rnorm(100, 2))
b <- sort(rnorm(100, 7))
out <- vector("list", 101)
for (i in 1:ani.options("nmax")) {
ji <- seq(from = 0, to = 5, by = .05)
a <- jitter(a, factor = 1, amount = ji[i])
fab1 <- lm(a ~ b)
coe <- summary(fab1)$coefficients
r2 <- summary(fab1)$r.squared
if (coe[2, 4] < .0001) p <- " < .0001"
if (coe[2, 4] < .001 & coe[2, 4] > .0001) p <- " < .001"
if (coe[2, 4] > .01) p <- round(coe[2, 4], 3)
plot(a ~ b, main = "Linear model")
abline(fab1, col = "red", lw = 2)
text(x = min(b) + 2, y = max(a) - 1,
labels = paste("t = ", round(coe[2, 3], 3), ", p = ", p, ", R2 = ", round(r2, 3)))
out[[i]] <- c(coe[2, 3], coe[2, 4], r2)
ani.pause()
}
ani.options(oopt)
```
循环工作正常,并传递给一个函数,我能够以多种格式将其保存为&#39; saveLatex&#39;,&#39; saveHTML&#39;或者&#39; saveVideo&#39;。然而,当&#39;编织&#39; .Rmd文件为了获取PDF,动画没有出现,只有这一行写的:
video of chunk lmSim
如果我用HTML编织,只显示视频的播放按钮。但是,如果我在浏览器(Firefox)中打开HTML,它会正确显示。
没有显示错误消息。我在MacBook Pro Yosemite上使用R版本3.2.0,最新的R Studio版本,1.10.5 knitr版本。我没有找到任何相关的信息或文件来解决我的问题。
问题:
那么,是否可以将嵌入动画插入到使用rmarkdown / knitr生成的PDF中?
我是否必须安装另一个程序来处理PDF格式的视频(我的计算机上有ffmpeg)?
非常感谢!
谢谢一惠!它适用于以下设置(使用Adobe阅读PDF):---
title: "Sim"
author: ""
header-includes:
- \usepackage{animate}
...
---
```{r lmSim, fig.show='animate', out.width = '6in'}
答案 0 :(得分:11)
你试过ggplot和gganimation吗?例如:
![your caption here](your_animation.gif)
看到你需要先保存你的动画。您需要建立工作目录。
之后你可以通过聊天或html in markdown(而不是来自R chuck)来调用它,如:
onsuccess
答案 1 :(得分:0)
这个答案可能为时已晚,但希望可以帮助其他人。我建议将 R 代码作为单独文件保存并运行在同一目录中,并且仅将动画导入为 gif 以减少演示中的延迟。这在 ioslides 中对我有用:
## Time series visualization
![time series](myanimation.gif){width=80%}