【发布时间】:2014-11-22 02:05:38
【问题描述】:
我在 R 中使用 Amelia 包来处理缺失值。当我尝试使用估算数据训练随机森林时出现以下错误。我不确定如何将 amelia 类转换为数据框,这将是 R 中 randomForest 函数的正确输入。
train_data<-read.csv("train.csv")
sum(is.na(train_data))
impute<- amelia(x=train_data,m=5,idvars=c("X13"), interacs=FALSE)
impute<= as.data.frame(impute)
for(i in 1:impute$m) {
model <- randomForest(Y ~X1+X2+X3+X4+X5+X6,
data= as.data.frame(impute))
}
Error in as.data.frame.default(impute) :
cannot coerce class ""amelia"" to a data.frame
如果我将 randomForest 的输入用作 impute$imputations[[i]],则会出现以下错误:
model <- randomForest(Y ~X1+X2+X3+X4+X5+X6,
impute$imputations[[i]])
Error: $ operator is invalid for atomic vectors
谁能建议我如何解决这个问题。这将是一个很大的帮助。
【问题讨论】:
-
@RichardScriven 你的意思是我应该做 impute
-
我认为你应该先看看
unclass(impute)。这应该让您对对象的实际外观有所了解。忘记as.matrix,我错了 -
@RichardScriven 感谢您的解释。我仍然无法处理这个错误。我在使用 aregImpute 时遇到了类似的错误。当我将估算的测试数据集提供给预测函数时。 impute_valid
标签: r dataframe random-forest