[R] randomForest partialPlot x.var through function
Eric Archer
Eric.Archer at noaa.gov
Fri May 13 19:20:35 CEST 2005
All,
I'm trying to set up a function which calls the partialPlot function but
am getting an error that I can't seem to solve. Here's a simplified
version of the function and error...
> pplot <-
function(rf,pred.var){partialPlot(x=rf,pred.data=acoust,x.var=pred.var)}
>
> attach(acoust)
> acoust.rf <-
randomForest(VocalTF~Cruise+Spot+Spin+Delph+Stripe+Steno+Turs+Gramp+Lags+
+ Lisso+FerPsu+Glob+mixspotspin+mixother+mixed+Size,
+ data=acoust,importance=TRUE,keep.forest=TRUE)
> cruise.pp <- pplot(acoust.rf,Cruise)
Error in "[.data.frame"(pred.data, , xname) :
undefined columns selected
Here's the traceback call...
> traceback()
6: stop("undefined columns selected")
5: "[.data.frame"(pred.data, , xname)
4: pred.data[, xname]
3: partialPlot.randomForest(x = rf, pred.data = acoust, x.var = pred.var)
2: partialPlot(x = rf, pred.data = acoust, x.var = pred.var)
1: pplot(acoust.rf, Cruise)
From the partialPlot help file, the "pred.data[, xname]" seems to apply
to the "n.pt" argument which reads, "if 'x.var' is continuous, the
number of points on the grid for evaluating partial dependence."
It is not clear to me what "xname" is or where it is defined. If it is
supposed to be "x.var" where does it get assigned? I've tried
help.search("xname") to no useful avail that I could tell.
Second, in my case, "acoust$Cruise" is a factor and the line
> cruise.pp <- partialPlot(acoust.rf,acoust,Cruise)
produces the proper plot.
Which leads me to belive that I'm doing something wrong in how I'm
passing "Cruise" through "pred.var" in the function call to "x.var", but
I can't figure out how to properly correct it.
Thanks in advance for any pointers.
e.
--
Eric Archer, Ph.D.
NOAA-SWFSC
8604 La Jolla Shores Dr.
La Jolla, CA 92037
858-546-7121,7003(FAX)
eric.archer at noaa.gov
"Lighthouses are more helpful than churches."
- Benjamin Franklin
"Cogita tute" - Think for yourself
More information about the R-help
mailing list