I am trying to run a partialPlot with Random Forest (as I
have done many times before).
First I run my forest... Cell is a 6 level factor that is the
dependent variable - all other variables are predictors, most
of these are factors as well.
predCell<-randomForest(x=tempdata[-match("Cell",names(tempdata
))],y=tempdata$Cell,importance=T)
Then I try my partial plot to look at the effect of a
specific predictor.
partialPlot(x=predCell,pred.data=tempdata[-match("Cell",names(
tempdata))],x.var="P7_6")
I get this error:
Error in predict.randomForest(x, x.data, type = "prob") :
Type of predictors in new data do not match that of the
training data.
In examining randomForest:::predict.randomForest I see the
following code that produces this error message.
cat.new <- sapply(x, function(x) if (is.factor(x) &&
!is.ordered(x))
length(levels(x))
else 1)
if (!all(object$forest$ncat == cat.new))
stop("Type of predictors in new data do not match
that of the training data.")
}
The odd thing is that if I run this code outside of the function:
all(predCell$forest$ncat==
+ sapply(tempdata[-match("Cell",names(tempdata))],
function(x) if (is.factor(x) &&
+ !is.ordered(x))
+ length(levels(x))
+ else 1))
[1] TRUE
Which should avoid the "stop" function.
Here is the session info.
R version 2.8.1 (2008-12-22)
i386-pc-mingw32
locale:
LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
States.1252;LC_MONETARY=English_United
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] randomForest_4.5-30
Any ideas would be greatly appreciated.
W. Michael Conklin
Chief Methodologist
MarketTools, Inc. | www.markettools.com<http://www.markettools.com>
6465 Wayzata Blvd | Suite 170 | St. Louis Park, MN 55426.
PHONE: 952.417.4719 | CELL: 612.201.8978
This email and attachment(s) may contain confidential and/or
proprietary information and is intended only for the intended
addressee(s) or its authorized agent(s). Any disclosure,
printing, copying or use of such information is strictly
prohibited. If this email and/or attachment(s) were received
in error, please immediately notify the sender and delete all copies
[[alternative HTML version deleted]]