Problema:Animazione grafica in knitr rmarkdown
Ciao, cerco di creare una trama animata in un documento rmarkdown. Qui è il mio codice:
```{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)
```
L'opera bene loop, e passato in una funzione, I'am in grado di salvare in diversi formati con 'saveLatex', 'saveHTML' o 'saveVideo'. Tuttavia, quando 'maglia' il file .RMD al fine di ottenere un PDF, l'animazione non appare, c'è solo questa riga scritta:
video of chunk lmSim
Se ho maglia in HTML, solo il pulsante di riproduzione del il video è visualizzato. Tuttavia, se apro l'HTML nel mio browser (firefox) viene visualizzato correttamente.
Nessun messaggio di errore visualizzato. Sto usando R versione 3.2.0, l'ultima versione di R Studio, versione 1.10.5 knitr su un MacBook Pro Yosemite. Non ho trovato alcuna informazione o documentazione rilevante per risolvere il mio problema.
Domande:
Così, è semplicemente possibile avere un'animazione embeded in un PDF generato con rmarkdown/knitr?
Devo installare un altro programma per gestire i video in PDF (ho ffmpeg sul mio computer)?
Grazie mille!
Grazie Yihui! Funziona molto bene con le seguenti impostazioni (lettura del PDF con Adobe):
---
title: "Sim"
author: ""
header-includes:
- \usepackage{animate}
...
---
```{r lmSim, fig.show='animate', out.width = '6in'}
Se l'unico formato di output desiderato è PDF, forse si può provare l'opzione pezzo ' out.width = '' '. Tieni presente che dovrai includere '\ usepackage {animate}' nell'intestazione (http://rmarkdown.rstudio.com/pdf_document_format.html), e utilizzare anche Acrobat Reader per visualizzare il PDF. Se funziona, lo spiegherò in una risposta. –