【发布时间】:2017-02-04 00:03:09
【问题描述】:
我想向我的树中添加一些信息。假设我有一个这样的数据库:
library(rpart)
library(rpart.plot)
set.seed(1)
mydb<-data.frame(results=rnorm(1000,0,1),expo=runif(1000),var1=sample(LETTERS[1:4],1000,replace=T),
var2=sample(LETTERS[5:6],1000,replace=T),var3=sample(LETTERS[20:25], 1000,replace=T))
我可以运行一棵树:
mytree<-rpart(results~var1+var2+var3,data=mydb,cp=0)
pfit<- prune(mytree, cp=mytree$cptable[4,"CP"])
prp(pfit,type=1,extra=100,fallen.leaves=F,shadow.col="darkgray",box.col=rgb(0.8,0.9,0.8))
这对我来说没问题,但假设我想知道每片叶子的平均曝光量。
我知道我可以在 prp 中添加一些信息,例如每个叶子的重量和一个函数:
node.fun1 <- function(x, labs, digits, varlen)
{
paste("Weight \n",x$frame$wt)
}
prp(pfit,type=1,extra=100,fallen.leaves=F,shadow.col="darkgray",box.col=rgb(0.8,0.9,0.8),node.fun = node.fun1)
但它只有在帧中计算时才有效,即 rpart 函数的结果。
我的问题:
如何将自定义信息添加到绘图中,例如平均曝光率或任何其他计算自定义指标的函数并将其添加到表格 frame 中?
【问题讨论】:
-
您忘记了 rpart 部分,或者您创建了
mytree -
你是对的!已编辑:)
标签: r tree rpart cart-analysis