extraindo preditores do objeto ctree

Eu verifiqueibinary tree métodos de classe eComo extrair estrutura de árvore da função ctree? (o que foi útil para entender a estrutura e os slots do objeto S4), mas ainda não está claro como chegar aos preditores finais de umctree objeto. Pararpart, Eu usaria algo como

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

Existe um atalho semelhante disponível, ou eu tenho que escrever uma função recursiva para atravessar octree objeto e extrair os preditores? Isso, ou um regex-fest com a saída de impressão? Obrigado.

ATUALIZAÇÃO: usandoBaydoganmcódigo abaixo. Ainda tem que descobrir como atualizarres corretamente através das recursões:

 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])

questionAnswers(3)

yourAnswerToTheQuestion