我想在R中为randomForest设置不同的sampsize。我希望看到3个不同的RF返回,但R“(列表)对象中出现的错误不能被强制输入'整数'”
我的代码如下
sampsize_vect<-vector("list",3)
sampsize_vect[[1]]<- rep(6670,3)
sampsize_vect[[2]]<- c(1000)
sampsize_vect[[3]]<- c(5000,5000)
for (i in 1:3) {
RF <- randomForest (x,y,sampsize=sampsize_vect[i],node.size=3,do.trace=FALSE,importance=TRUE,ntree=150,,forest=TRUE)
print(RF)
}
为什么会发生这种情况以及如何解决这个问题。
答案 0 :(得分:2)
它与随机森林没有任何关系。您应该使用[
时使用[[
(反之亦然)。
将sampsize = sampsize_vect[i]
更改为sampsize = sampsize_vect[[i]]]
。永远记住,列表[[
选择元素,而[
选择子列表。