[R] Combine multiple random forests contained in a list
arun
smartpink111 at yahoo.com
Sat Jul 27 06:26:22 CEST 2013
HI,
Using the example in ?combine
library(randomForest)
rf1 <- randomForest(Species ~ ., iris, ntree=50, norm.votes=FALSE)
rf2 <- randomForest(Species ~ ., iris, ntree=50, norm.votes=FALSE)
rf3 <- randomForest(Species ~ ., iris, ntree=50, norm.votes=FALSE)
rf.all <- combine(rf1, rf2, rf3)
lst1<- list(rf1,rf2,rf3)
rf.allL<- do.call(`combine`,lst1)
#or
rf.allL<- Reduce(`combine,lst1)
identical(rf.all,rf.allL)
#[1] TRUE
A.K.
Is there a quick and easy way to pass randomForest objects contained in a list into the combine() function?
As a result of calling randomForest through lapply(), I now have 10 randomForests in a list (rfors)
I want to combine all 10 of them. Understandably combine(rfors)
doesn't work as it doesn't recognise the individual forests within the
list. I have spend quite sometime messing around with unlist(), lapply()
and apply() to try and extract the information in a suitable format but
to no avail. The only thing that works is combine(rfors[[1]],
rfors[[2]] ...etc).
This is a bit cumbersome though, not least because the number of
random forests I'll need to combine is likely to change. Any sleek and
elegant solution to this someone can suggest?
Thanks in advance for any help.
Anna
More information about the R-help
mailing list