2016-08-17 22 views
0

隨機森林循環和變量的重要性,我想R中運行100次randomForest迴歸,得到各運行變量重要性和寫入的以csv文件變量重要性的結果(包括100個結果變量的重要性)。這是我的代碼和錯誤:運行中的R

result<-data.frame(IncMSE="%IncMSE", IncNodePurity="IncNodePurity") 
for (i in 1:3){ 
imp[i]<- importance(randomForest(train[,1:11], train[,12], data = train,importance = TRUE, ntree =5000, proximity = TRUE, mtry=3)) 
results<-cbind(result,imp[i]) 
} 
write.csv(results,"D:/vari.csv") 

Warning messages: 
In imp[i] <- importance(randomForest(train[, 1:11], train[, 12], : 
number of items to replace is not a multiple of replacement length 

如何解決?非常感謝。

回答

2

有一些小的東西,cbindrbind代替,resultresults,一個names()衝突,未定義的對象imp的索引,等等:

data("mtcars") 
train <- mtcars 
require(randomForest) 

result <- data.frame() 
for (i in 1:3){ 
    imp <- importance(randomForest(train[,2:10], y = train[,1], data = train,importance = TRUE, ntree =5000, proximity = TRUE, mtry=3)) 
    result <- rbind(result, imp) 
} 
write.csv(result, "D:/vari.csv")