在R中使用带有randomForest的predict()时出错

时间:2013-11-14 18:53:46

标签: r prediction random-forest

我正在尝试使用randomForest中的predict()函数预测四个数据缺乏物种的类别。我在原始数据上运行RF并创建了一个RF对象,然后我想用它来预测新数据的类。

我使用的代码是:

# original data set "procellminvar" 
# DD sp only "procelldd"

#run RF on original data set

    procellminvar$current.red.list<-factor(procellminvar$current.red.list)
    procell6<-procellminvar[,6:80]
    procell6.imputed<-rfImpute(current.red.list~.,procell6)
    procellminvar.rf<-randomForest(current.red.list~., procell6.imputed, votes=true, importance=TRUE, ntree=1000)
    round(importance(procellminvar.rf),2)

#run prediction using original data and new data (DD sp only)

    predict(procellminvar.rf, procelldd)

RF运行良好,但当我尝试运行预测时,我收到一条错误消息:

predict(procellminvar.rf, procelldd)
# Error in eval(expr, envir, enclos) : object 'subpop' not found

我不明白为什么。有人能用简单的语言向我解释我在这里做错了什么吗?

1 个答案:

答案 0 :(得分:1)

我认为问题在于您在完整数据集上运行预测,但您没有在训练中使用完整数据集。你也没有使用原始变量。因此,您需要确保您在培训中使用的每个变量都存在于测试数据中。