r - 识别派对 ctree 节点内的所有不同变量

标签 r tree party

我正在 party R 包中使用 ctree 函数。我想识别树中使用的所有预测变量,以减少用于进一步分析的 data.frame 维度。例如:

library(ctree)
data(ozone)
myModel<-ctree(Ozone~., data=na.omit(airquality))
plot(myModel)

我想要一个接收 myModel 并返回温度、风和臭氧的函数

最佳答案

为了完整起见:NicE 的答案与 party 包中的 ctree() 实现有关。如果有人想要基于 partykit 包中新的(推荐的)实现做同样的事情,那么就需要一个不同的函数,因为内部表示完全改变了。

getUsefulPredictors <- function(x) {
  varid <- nodeapply(x, ids = nodeids(x),
    FUN = function(n) split_node(n)$varid)
  varid <- unique(unlist(varid))
  names(data_party(x))[varid]
}

这首先从树的每个节点中的每个分割中获取变量 ID varid。然后获取模型框架的名称并返回与唯一变量 ID 相关的名称。在您的示例中:

library("partykit")
myModel <- ctree(Ozone ~ ., data = na.omit(airquality))
getUsefulPredictors(myModel)    
## [1] "Temp" "Wind"

关于r - 识别派对 ctree 节点内的所有不同变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456814/

相关文章:

r - 使用 rpart.plot 功能绘制 ctree

r - 对按因子拆分的数据帧中的许多列应用 t 检验

r - 安装从 CRAN 中删除的包

SQL server树有限深度查询

tree - 检查节点是否属于 tree lisp

r - 如何更改 R 中 ctree 对象的绘图背景?

r - 在 R 中加载聚会包时出现“找不到对象”错误

替换在R中数据帧任一端找到的连续零

r - 将聚合函数转换为用户定义函数

java - 减少属性树