[]2値データリスクパターンを分岐木で表示

利用ライブラリ:library(party); library(Cairo)
主な関数   :ctree(function, data=Data), 
        plot(Tree, type="simple, 
         inner_panel=node_inner(Tree, pval=F, id=F), 
         terminal_panel=node_terminal(Tree, id=F)); 
        CairoPNG()

昨日のリスクパターンを分岐木で表示してみた。

Rでpng画像の作成→windowsムービーメーカーwmv動画へ→YouTubeにアップ

の流れでやってみましたが。。。

文字が小さくて全く見えないし、たった4項目で木がこんなに大きくなった。

D

上手く可視化したいんだけど、ヒートマップみたいな絵を描けばいいのかなぁ。

既存のパッケージでは限界かな??

Rコードです↓

#------------利用データは昨日作ったyBinCat
#---------分岐木
library(party)

#------分割変数が1個
a <- 10
DataCat <- data.frame(yBinCat[, a], RiskPattern=yBinCat[, a])
colnames(DataCat)[1] <- colnames(yBinCat)[a]

#---因子化
DataCat[, 1] <- factor(DataCat[, 1], labels=c("No", "Yes"))

RiskPatternCtree <- ctree(as.numeric(RiskPattern)~., data=DataCat)

library(Cairo)
CairoPNG("D:/R/ブログ/RiskSplit1.png", width=960, height=960)
	plot(RiskPatternCtree, type="simple", inner_panel=node_inner(RiskPatternCtree, pval=F, id=F), 
		terminal_panel=node_terminal(RiskPatternCtree, id=F))
dev.off()


#------分割変数が2個以上
RiskSplit <- function(a){
	SubCol <- a
	DataCat <- yBinCat[, SubCol]
	
	#---リスクパターン変数
	DataCat$RiskPattern <- DataCat[, 1]
	for(i in 2:length(SubCol)){
		DataCat$RiskPattern <- paste(DataCat$RiskPattern, DataCat[, i], sep="")
	}
	#---因子化
	for(i in 1:length(SubCol)) DataCat[, i] <- factor(DataCat[, i], labels=c("No", "Yes"))
	
	RiskPatternCtree <- ctree(as.numeric(RiskPattern)~., data=DataCat)
	
	outfile <- paste("D:/R/ブログ/RiskSplit", length(SubCol), ".png", sep="")
	CairoPNG(outfile, width=960, height=960)
		plot(RiskPatternCtree, type="simple", inner_panel=node_inner(RiskPatternCtree, pval=F, id=F), 
			terminal_panel=node_terminal(RiskPatternCtree, id=F))
	dev.off()
}

RiskSplit(c(10, 5))
RiskSplit(c(10, 5, 6))
RiskSplit(c(10, 5, 6, 13))


ページTOPへ