R + knitr + PerformanceAnalytics ошибки построения графиков

Я запускаю следующий фрагмент кода, но по какой-то причине при использовании charts.PerformanceSummary() внутри цикла for он пытается сделать больше выходных данных, чем количество раз, которое он проходит через цикл. В то время как простая функция построения графика, кажется, работает нормально ...

См. Приведенный ниже код .Rmd, а затем последующий файл .md, созданный после сшивки в html ...

PLOT TEST
====

```{r}
suppressPackageStartupMessages(require(PerformanceAnalytics))
for(i in 1:5){
  charts.PerformanceSummary(xts(rnorm(i*1000,0.0001,0.0003),Sys.Date()-c((i*1000):1)))
}
```

```{r}
for(i in 1:5){
  plot(xts(cumprod(rnorm(i*1000,0.0001,0.0003)+1),Sys.Date()-c((i*1000):1)))
}
```

Создание следующего файла .md

PLOT TEST
====


```r
suppressPackageStartupMessages(require(PerformanceAnalytics))
for (i in 1:5) {
    charts.PerformanceSummary(xts(rnorm(i * 1000, 1e-04, 3e-04), Sys.Date() - 
   c((i * 1000):1)))
}
```

![plot of chunk unnamed-chunk-1](figure/unnamed-chunk-11.png) ![plot of chunk unnamed-chunk-1](figure/unnamed-chunk-12.png) ![plot of chunk unnamed-chunk-1](figure/unnamed-chunk-13.png) ![plot of chunk unnamed-chunk-1](figure/unnamed-chunk-14.png) ![plot of chunk unnamed-chunk-1](figure/unnamed-chunk-15.png) ![plot of chunk unnamed-chunk-1](figure/unnamed-chunk-16.png) 



```r
for (i in 1:5) {
    plot(xts(cumprod(rnorm(i * 1000, 1e-04, 3e-04) + 1), Sys.Date() - c((i * 
    1000):1)))
}
```

![plot of chunk unnamed-chunk-2](figure/unnamed-chunk-21.png) ![plot of chunk unnamed-chunk-2](figure/unnamed-chunk-22.png) ![plot of chunk unnamed-chunk-2](figure/unnamed-chunk-23.png) ![plot of chunk unnamed-chunk-2](figure/unnamed-chunk-24.png) ![plot of chunk unnamed-chunk-2](figure/unnamed-chunk-25.png) 

Обратите внимание, что есть 6 выходных графиков, к которым пытается подключиться первый блок, но есть только 5 выходных графиков во втором блоке, несмотря на то, что оба имеют одинаковый for (i in 1:5) { бит кода ...

В качестве дополнительной информации ниже был sessionInfo

sessionInfo() 
## R version 3.0.0 (2013-04-03)
## Platform: x86_64-apple-darwin10.8.0 (64-bit)
## 
## locale:
## [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] PerformanceAnalytics_1.1.0 xts_0.9-3                 
## [3] zoo_1.7-9                  knitr_1.2                 
## 
## loaded via a namespace (and not attached):
## [1] digest_0.6.3    evaluate_0.4.3  formatR_0.7     grid_3.0.0     
## [5] lattice_0.20-15 stringr_0.6.2   tools_3.0.0

ИЗМЕНИТЬ

Я также только что запустил одну строку отдельно и получил полуисправление ... но не для создания нескольких диаграмм в одном и том же фрагменте ...

Ниже приведен сценарий .Rmd вместе с выводом .md.

```{r}
charts.PerformanceSummary(xts(rnorm(1000,0.0001,0.0003),Sys.Date()-c((1000):1)))
```

```{r fig.keep='last'}
charts.PerformanceSummary(xts(rnorm(1000,0.0001,0.0003),Sys.Date()-c((1000):1)))
```

вывод .md

```r
charts.PerformanceSummary(xts(rnorm(1000, 1e-04, 3e-04), Sys.Date() - c((1000):1)))
```

![plot of chunk unnamed-chunk-4](figure/unnamed-chunk-41.png) ![plot of chunk unnamed-chunk-4](figure/unnamed-chunk-42.png) 



```r
charts.PerformanceSummary(xts(rnorm(1000, 1e-04, 3e-04), Sys.Date() - c((1000):1)))
```

![plot of chunk unnamed-chunk-5](figure/unnamed-chunk-5.png) 

ИЗМЕНИТЬ 2

Как указывает @agstudy, похоже, что knitr создает ненужное пустое изображение ... кто-нибудь знает, как его удалить?


person h.l.m    schedule 06.06.2013    source источник
comment
Я думаю, это просто создание банковской картины! ,,,,,   -  person agstudy    schedule 06.06.2013
comment
Я тоже так думаю ... но я бы предпочел, чтобы этого не было ... Есть идеи, как от этого избавиться?   -  person h.l.m    schedule 06.06.2013
comment
для пустых изображений это известная проблема; см. stackoverflow.com/q/16648872/559676   -  person Yihui Xie    schedule 08.06.2013