Learn R Programming

rms (version 4.1-3)

predict.lrm: Predicted Values for Binary and Ordinal Logistic Models

Description

Computes a variety of types of predicted values for fits from lrm and orm, either from the original dataset or for new observations. The Mean.lrm and Mean.orm functions produce an R function to compute the predicted mean of a numeric ordered response variable given the linear predictor, which is assumed to use the first intercept in its computation.

Usage

## S3 method for class 'lrm':
predict(object, \dots, type=c("lp", "fitted",
            "fitted.ind", "mean", "x", "data.frame",
            "terms", "cterms", "ccterms", "adjto","adjto.data.frame", 
            "model.frame"), se.fit=FALSE, codes=FALSE)
## S3 method for class 'orm':
predict(object, \dots, type=c("lp", "fitted",
            "fitted.ind", "mean", "x", "data.frame",
            "terms", "cterms", "ccterms", "adjto","adjto.data.frame", 
            "model.frame"), se.fit=FALSE, codes=FALSE)

## S3 method for class 'lrm': Mean(object, codes=FALSE, \dots) ## S3 method for class 'orm': Mean(object, codes=FALSE, \dots)

Arguments

object
a object created by lrm or orm
...
arguments passed to predictrms, such as kint and newdata (which is used if you are predicting out of data). See predictrms to see how NAs are handled. Ignored for other functions.
type
See predict.rms for "x", "data.frame", "terms", "cterms", "ccterms", "adjto", "adjto.data.frame" and "model.frame". type="lp" is used to get linear predictors (using the first intercept by default; sp
se.fit
applies only to type="lp", to get standard errors.
codes
if TRUE, type="mean", Mean.lrm, and Mean.orm use the integer codes $1,2,\ldots,k$ for the $k$-level response in computing the predicted mean response.

Value

  • a vector (type="lp" with se.fit=FALSE, or type="mean" or only one observation being predicted), a list (with elements linear.predictors and se.fit if se.fit=TRUE), a matrix (type="fitted" or type="fitted.ind"), a data frame, or a design matrix. For Mean.lrm and Mean.orm, the result is an R function.

concept

logistic regression model

References

Hannah M, Quigley P: Presentation of ordinal regression analysis on the original scale. Biometrics 52:771--5; 1996.

See Also

lrm, orm, predict.rms, naresid, contrast.rms

Examples

Run this code
# See help for predict.rms for several binary logistic
# regression examples


# Examples of predictions from ordinal models
set.seed(1)
y <- factor(sample(1:3, 400, TRUE), 1:3, c('good','better','best'))
x1 <- runif(400)
x2 <- runif(400)
f <- lrm(y ~ rcs(x1,4)*x2, x=TRUE)     #x=TRUE needed for se.fit
# Get 0.95 confidence limits for Prob[better or best]
L <- predict(f, se.fit=TRUE)           #omitted kint= so use 1st intercept
plogis(with(L, linear.predictors + 1.96*cbind(-se.fit,se.fit)))
predict(f, type="fitted.ind")[1:10,]   #gets Prob(better) and all others
d <- data.frame(x1=c(.1,.5),x2=c(.5,.15))
predict(f, d, type="fitted")        # Prob(Y>=j) for new observation
predict(f, d, type="fitted.ind")    # Prob(Y=j)
predict(f, d, type='mean', codes=TRUE) # predicts mean(y) using codes 1,2,3
m <- Mean(f, codes=TRUE)
lp <- predict(f, d)
m(lp)
# Can use function m as an argument to Predict or nomogram to
# get predicted means instead of log odds or probabilities
dd <- datadist(x1,x2); options(datadist='dd')
m
plot(Predict(f, x1, fun=m), ylab='Predicted Mean')
# Note: Run f through bootcov with coef.reps=TRUE to get proper confidence
# limits for predicted means from the prop. odds model
options(datadist=NULL)

Run the code above in your browser using DataLab