次のコードを実行していますが、何らかの理由でループ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が不要な空白の画像を生成しているように見えます...削除する方法を知っている人はいますか?