On 2011-07-28 12:14:32, Cleber N.Borges wrote:
I am tring make a simple surface plot ( 2 by 2 terms of a MARS model
(with earth package) but I get the follow error message:
> library( earth )
> data( gasoline, package='pls' )
> nir <- gasoline$NIR
> class( nir )
[1] "AsIs"
> oct <- gasoline$octane
> mars <- earth( oct ~ nir, nk=300, nfold=10, degree=3, trace=0 )
> plotmo( mars )
Error: bad index (missing column in x?)
The plotmo function is understandably confused by the fact that the class of
gasoline$NIR is "AsIs". Here is a work around:
g <- data.frame(octane=gasoline$octane, as.matrix(data.frame(gasoline$NIR)))
colnames(g) <- sub("gasoline.NIR.", "", colnames(g))
mars <- earth(octane ~ ., data=g, degree=2)
plotmo(mars, clip=F)
Earth is not suited to highly collinear data like this. Note that
summary(lm(octane ~ ., data=g)) gives
"ALL 60 residuals are 0: no residual degrees of freedom"
I will issue a new version of plotmo with better error handling for this
problem. I have cc'ed this email to the maintainer of the pls package to
let them know that the gasoline data has a strange class. Cleber, per the
posting guide you should have sent your email directly to me, the author of
the plotmo package, and not to r-help, so let's continue any further
discussion off the list. Feel free to contact me if you have further
questions.
Regards,
Steve Milborrow
www.milbo.users.sonic.net
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.