Questa domanda è simile a qualche altra domanda su Stackoverflow (here, here e here), ma abbastanza diversa in modo che Non posso estrapolare quelle risposte al mio caso.in R: Errore in is.data.frame (dati): oggetto "non trovato, plot C5.0
Ho una funzione in cui mi adatto a un modello C5.0 e di provare a tracciare il modello.
train_d <- globald[train_ind,c(features,21)]
model <- C5.0(binclass ~ .,data=train_d,trials=10)
binclass
è un nome di colonna in miei dati formazione/prova (globald è un dataframe da cui ho sottoinsieme righe con _ind
indici e colonne c(3:12,21)
, dove la colonna 21 è chiamato binclass
). Il raccordo funziona bene. Tuttavia, quando ho anche aggiungere la linea
plot(model,trial=0)
allora ottengo il seguente errore: Error in is.data.frame(data) : object 'train_d' not found
.
Come è possibile che durante il montaggio del modello, train_d
venga trovato e utilizzato correttamente, ma durante il plottaggio, train_d
non si trova da nessuna parte? E qualsiasi suggerimento su come risolvere questo problema. Namespace in [r] rimane un mistero per me.
Un esempio in esecuzione minimo è il seguente:
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)
}
Calling f()
risultati nella seguente errore: Error in is.data.frame(data) : object 'd' not found
Edit: Come per la risposta da MrFlick, sembra che la causa di questo problema è un bug nel codice C5.0. Ci sono alcune soluzioni alternative indicate da Pascal e MrFlick.
Quali "altre domande"? E senza un esempio riproducibile, sarà complicato ottenere una risposta. –
Questo non suona come un problema di spazio dei nomi tanto quanto un possibile problema di ambito. Tuttavia non è molto chiaro dalle informazioni che hai fornito. Dovresti includere un [esempio riproducibile] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) per chiarire esattamente cosa stai facendo. – MrFlick
@Pascal: viene fornito un esempio di lavoro minimo. Non so se si tratta di uno spazio dei nomi di un problema di ambito. È un problema che voglio vedere risolto ... – user989762