2

R パッケージには、非常にきちんとしたファンチャート プロット メソッドを含む、型モデリング vars用の優れた定型ルーチンがいくつか含まれています。VAR

プロットには日付は含まれません。x 軸には数字が付けられているだけです。

例えば:

require(vars)
data(Canada)
var.2c <- VAR(Canada, p = 2, type = "const")
var.2c.prd <- predict(var.2c, n.ahead = 8, ci = 0.95)
fanchart(var.2c.prd)

のコードを見ましたfanchartが、目的を達成する方法を理解できませんでした。

他の誰かがこの問題を解決しましたか?

4

1 に答える 1

2

これは基本グラフィックなのでxaxt="n"、デフォルトの軸を抑制しaxis、新しいラベルを作成するために使用できます。これは時系列オブジェクトなので、実際には日付として認識できるものはありませんが、時間を引き出すことは可能です

 times <- as.vector(time(Canada) )

これは、ユーザー座標を設定するファンチャートのコードです:

plot.ts(c(endog[, names[i]], rep(NA, n.ahead)), main = main[i], 
          ylim = c(ymin, ymax), ylab = ylab, xlab = xlab, col = col.y,  
         ...)

xy.labels 引数を追加して、plot.ts がそれを尊重するようにしようとしていますが、これまでのところ成功していません。

私はそれをあなたに投げ返すつもりです。これは適切な配置を与えるべきだと思いますが、プロットされたポイントよりも幅が広くなっています。これらのモデルに関連するランインとランアウトの問題に関してそれが理にかなっていれば、素晴らしいです。そうでない場合は、これを改善できます

axis(1, at=seq_along( c( times, rep(NA,8) )), labels=c( times, rep(NA,8)) ,
        las=3, line=2, cex.axis=0.6)

追加の NA は、投影のある領域を考慮するように設計されています。長さの由来はnrow(var.2c.prd$fcst[[1]]) [1] 8

はぁ…わかった:これを試してみてください

fanchart(var.2c.prd, xaxt="n")
 par(new=TRUE)
 axis(1, at=seq_along( c( times, rep(NA,8) )), labels=c( times, rep(NA,8)) ,
       las=3, line=-26, cex.axis=0.6)
 axis(1, at=seq_along( c( times, rep(NA,8) )), labels=c( times, rep(NA,8)) ,
       las=3, line=0.5, cex.axis=0.6)

ここに画像の説明を入力

がないと並んでいないようでしたpar(new=TRUE)。必要な場所に追加の軸を配置できるはずです。

于 2012-09-19T03:56:24.277 に答える