extrayendo predictores del objeto ctree

He comprobadobinary tree métodos de clase, y¿Cómo extraer la estructura de árbol de la función ctree? (que fue útil para comprender la estructura de objetos S4 y las ranuras), pero aún no está claro cómo llegar a los predictores finales de unctree objeto. porrpart, Usaría algo como

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

¿Hay un acceso directo similar disponible, o tengo que escribir una función recursiva para atravesar elctree ¿Objetar y extraer los predictores? ¿Eso, o un regex-fest con la salida impresa? Gracias.

ACTUALIZACIÓN: utilizandobaydoganmEl código de abajo. Todavía hay que averiguar cómo actualizarres correctamente a través de las recursiones:

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

Respuestas a la pregunta(3)

Su respuesta a la pregunta