2

次のコードを実行していますが、何らかの理由でループcharts.PerformanceSummary()内で使用forすると、ループを通過する回数よりも多くの出力を作成しようとします。単純なプロット関数はうまくいくようですが...

以下の .Rmd コードと、html に編成した後に作成される後続の .md ファイルを参照してください...

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 つの出力プロットがあることに注意してください。ただし、2 番目のチャンクには、同じfor (i in 1:5) {ビットのコードがあるにもかかわらず、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

編集

また、1行だけを単独で実行し、半修正しました...しかし、同じチャンクで複数のチャートを実行するためのものではありません...

以下は、.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が不要な空白の画像を生成しているように見えます...削除する方法を知っている人はいますか?

4

0 に答える 0