dans R: Erreur dans l'est.les données.cadre(données) : - objet " n'est pas trouvé, C5.0 intrigue

Cette question est similaire à d'autres questions sur Stackoverflow (ici, ici et ici), mais suffisamment différent pour que je ne peut pas extrapoler ces réponses à mon cas.

J'ai une fonction dans laquelle je fit une C5.0 modèle et que d'essayer de tracer le modèle.

train_d <- globald[train_ind,c(features,21)]
model <- C5.0(binclass ~ .,data=train_d,trials=10)

binclass est un nom de colonne dans ma formation/données de test (globald est un dataframe de qui je sous-ensemble des lignes avec _ind des indices et des colonnes c(3:12,21), où la colonne 21 est nommé binclass). Montage fonctionne bien. Cependant, lorsque j'ai également ajouter la ligne

plot(model,trial=0)

puis j'obtiens l'erreur suivante: Error in is.data.frame(data) : object 'train_d' not found.

Comment est-il possible que lors de la pose du modèle, train_d est trouvé et utilisé correctement, mais alors qu'elle préparait, train_d est nulle part pour être trouvée? Et, de toute idée de comment résoudre ce problème. Les espaces de noms en [r], restent un mystère pour moi.

Un minimum d'exécution de l'exemple est le suivant:

f <- function(){
    library(C50)
    set.seed(1)
    class = c(1,2)
    d <- data.frame(feature1 = sample(1:10,10,replace=TRUE), feature2 = 1:10, binclass = class)
    d$binclass <- as.factor(d$binclass)
    model <- C5.0(binclass ~ ., data=d)
    plot(model)   
}

Appel f() résultats dans l'erreur suivante: Error in is.data.frame(data) : object 'd' not found

Edit:
Selon la réponse de MrFlick, il semble que la cause de ce problème est un bug dans la C5.0 code. Il y a quelques solutions de contournement sont indiqués par Pascal et MrFlick.

Qui "autres questions"? Et sans reproductible exemple, il sera compliqué d'obtenir une réponse.
Cela ne ressemble pas à un espace de noms problème tellement comme un possible problème de portée. Cependant, il n'est pas très clair à partir de l'information fournie. Vous devez inclure une reproductible exemple faisant clairement savoir exactement ce que vous faites.
un minimum de travail exemple est fourni. Je ne sais pas si c'est un espace de noms d'un problème de portée. C'est une question que je veux voir résolu...
Pas sûr que c'est le mieux à faire, mais il fonctionne lorsque vous ajoutez assign("d", d, .GlobalEnv) après d$binclass <- as.factor(d$binclass).
Cela semble assez draconiennes de la mesure. Mais bon, ça fonctionne!

OriginalL'auteur user989762 | 2015-07-31