[R] Design: predict.lrm does not recognise lrm.fit object

Roy Sanderson R.A.Sanderson at newcastle.ac.uk
Tue Jul 12 13:10:43 CEST 2005


I'm using logistic regression from the Design library (lrm), then fastbw to
undertake a backward selection and create a reduced model, before trying to
make predictions against an independent set of data using predict.lrm with
the reduced model.  I wouldn't normally use this method, but I'm
contrasting the results with an AIC/MMI approach.  The script contains:

# Determine full logistic regression
lrm_logist = lrm(PresAbs ~ Size + X2ndpc + soil + AAR + tjan.jun,
# Backward selection of variables in model
lrm_stp = fastbw(lrm_logist, rule="p", sls=0.05)
# Fit reduced model
lrm_reduced = lrm.fit(training[,lrm_stp$parms.kept[-1]], training$PresAbs)
# Predict using parameters from reduced model against a new dataset
predict(lrm_reduced, testing, type="fitted.ind")

It is the last command that fails, reporting the error:
Error in getOldDesign(fit): fit was not created with a Design library
fitting function.

On further investigation, the class of the object from lrm.fit is only
"lrm", whereas predict.lrm seems to be expecting objects with the class
"lrm", "Design", "glm", judging from the examples on the predict.lrm help
page.  Many of the attributes differ also.  Does anyone know a simple
work-around for this problem?

Many thanks

More information about the R-help mailing list