2

最後のノードのボリュームの代わりに、各ノードにボリュームを追加する方法を教えてください。

t <- ctree(is_return ~ a + b + c)    
plot(t, type="simple")

私のツリーは次のようになります

ここに画像の説明を入力

黒または最終ノードだけでなく、すべての円ノードで N= を表示するプロットをどのように変更できますか。

ありがとう

4

2 に答える 2

3

ここに画像の説明を入力してください

アイデアは、内部ノードをプロットするためのパネル関数を指定することです。

いくつかのデータとツリーを生成します

lls <- data.frame(N = gl(3, 50, labels = c("A", "B", "C")), 
                  a = rnorm(150) + rep(c(1, 0,150)),
                  b = runif(150))
pond= sample(1:5,150,replace=TRUE)
tt <- ctree(formula=N~a+b, data=lls,weights = pond)

カスタム内部プロット関数。いくつかの重みを書く円を描きます。

innerWeights <- function(node){
  grid.circle(gp = gpar(fill = "White", col = 1))
  mainlab <- paste( node$psplit$variableName, "\n(n = ")
  mainlab <- paste(mainlab, sum(node$weights),")" , sep = "")
  grid.text(mainlab,gp = gpar(col='red'))
}

木をプロットします

plot(tt, type='simple', inner_panel = innerWeights)

PS:結果はランダムに生成されたデータに依存するため、おそらく同じプロットは得られません。

于 2012-12-09T03:24:06.593 に答える
0

デシジョン ツリーをエクスポートするときは、画像のサイズを変更します。200 個のターミナル ノードを持つ決定木の場合、幅は約 30.000 になります。

于 2017-01-05T13:37:43.373 に答える