2013-06-21 7 views
6

Uso il pacchetto randomForest (v 4.6-7) in R (v 2.15.3) e posso facilmente utilizzare la funzione randomForest per creare un modello. Tuttavia, quando provo a prevedere il mio set di test, non è possibile trovare la funzione predict.randomForest. Ho anche provato a plottare con plot.randomForest solo per ottenere lo stesso errore, "impossibile trovare la funzione".R non trova una funzione specifica in un pacchetto

Ho già provato a reinstallare il pacchetto (forse non era aggiornato) e mi sono assicurato che l'ortografia fosse assolutamente corretta. Non riesco a capire cosa stia causando questo errore, qualche idea?

+0

Probabilmente ridondante, ma assicurati di aver caricato il pacchetto con 'library (randomForest)'. Altrimenti, non c'è ragione per cui dovresti ricevere questo errore. Anche se le funzioni non vengono esportate, sono comunque registrate come metodi S3, quindi R dovrebbe sapere dove trovarle. –

risposta

7

Sembra che le funzioni di interesse non siano esportate dal pacchetto.

Se si utilizza ls(package:randomForest) si otterrà un elenco delle funzioni esportate.

Se si desidera vedere tutte le le funzioni disponibili l'uso: ls(getNamespace("randomForest"), all.names=TRUE). Thanks @Joshua. Vedrai le funzioni che desideri lì.

Per fare riferimento a uno di loro in modo esplicito, l'uso: randomForest:::predict.randomForest() oppure solo fare un oggetto che eredita la classe di 'foresta casuale' e chiamare predict() su direttamente.

+2

+1, anche 'getAnywhere (predict.randomForest)' – GSee

+0

Grazie, 'getAnywhere()' è davvero v. Utile in questo senso. '??" predict.randomForest "' può anche essere utile per trovare lo spazio dei nomi. – dardisco

+1

Grazie per questo, ho capito che la libreria (alcuni pacchetti) ha esportato tutti gli elementi di alcuni pacchetti. C'è una ragione per cui questo non è sempre il comportamento predefinito? – paulsef11