извлечение предикторов из объекта ctree

Я проверилbinary tree методы класса иКак извлечь древовидную структуру из функции ctree? (что помогло понять структуру объекта S4 и слоты), но до сих пор неясно, как добраться до окончательных предикторовctree объект. ЗаrpartЯ бы использовал что-то вроде

 extract_preds <- function( tt ){
   leaves <- tt$frame$var == '<leaf>'
   as.character( unique( tt$frame$var[ leaves==F ] ) )
 }

Имеется ли аналогичный ярлык или мне нужно написать рекурсивную функцию для обходаctree возразить и извлечь предикторы? Это или regex-fest с выводом на печать? Благодарю.

ОБНОВЛЕНИЕ: использованиеbaydoganmкод ниже. Еще надо выяснить как обновитьres правильно через рекурсии:

 library(party)

 ctree_preds <- function(tr,vnames){    
    res <- character(0)
    traverse <- function(treenode,vnames,res){
    if(treenode$terminal){
        return(res)
    } else {
        res <- c(res,vnames[treenode$psplit$variableID])
        traverse(treenode$left , vnames, res )
        traverse(treenode$right, vnames, res )
        }
    }
    traverse(tr,vnames,res)
    return(unique(res))
 }

 airq <- subset(airquality, !is.na(Ozone))
 airct <- ctree(Ozone ~ ., data = airq,
                         controls = ctree_control(maxsurrogate = 3))
 plot(airct)

 ctree_preds(airct@tree,names(airq)[-1])

Ответы на вопрос(3)

Ваш ответ на вопрос